<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
    <title>PHPXRef 0.7 : OpenSSO PHP Library 1.5.1 : /open-sso.abstract.php source</title>
    <link rel="stylesheet" href="sample.css" type="text/css">
    <link rel="stylesheet" href="sample-print.css" type="text/css" media="print">
    <style id="hilight" type="text/css"></style>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body bgcolor="#ffffff" text="#000000" link="#801800" vlink="#300540" alink="#ffffff">
<table class="pagetitle" width="100%">
	<tr>
        <td valign="top" class="pagetitle">
            [ <a href="index.html">Index</a> ]
        </td>
        <td align="right" class="pagetitle">
		    <h2 style="margin-bottom: 0px">PHP Cross Reference of OpenSSO PHP Library 1.5.1</h2>
	    </td>
    </tr>
</table>


<!-- Generated by PHPXref 0.7 at Fri Jan  8 00:38:44 2010 -->
<!-- PHPXref (c) 2000-2007 Gareth Watts - gareth@omnipotent.net -->
<!-- http://phpxref.sourceforge.net/ -->

<script src="phpxref.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
ext='.html';
relbase='';
subdir='';
filename='open-sso.abstract.php.source.html';
cookiekey='opensso-phplib_1.5';
handleNavFrame(relbase, subdir, filename);

// -->
</script>
<script language="JavaScript" type="text/javascript">
if (gwGetCookie('xrefnav')=='off')
  document.write('<p class="navlinks">[ <a href="javascript:navOn()">Show Explorer<\/a> ]<\/p>');
else
  document.write('<p class="navlinks">[ <a href="javascript:navOff()">Hide Explorer<\/a> ]<\/p>');
</script>
<noscript>
<p class="navlinks">
[ <a href="nav.html" target="_top">Show Explorer</a> ]
[ <a href="index.html" target="_top">Hide Navbar</a> ]
</p>
</noscript>
<script language="JavaScript" type="text/javascript">
<!--

document.writeln('<table align="right" class="searchbox-link"><tr><td><a class="searchbox-link" href="javascript:void(0)" onMouseOver="showSearchBox()">Search</a><br>');
document.writeln('<table border="0" cellspacing="0" cellpadding="0" class="searchbox" id="searchbox">');
document.writeln('<tr><td class="searchbox-title">');
document.writeln('<a class="searchbox-title" href="javascript:showSearchPopup()">Search History +</a>');
document.writeln('<\/td><\/tr>');

document.writeln('<tr><td class="searchbox-body" id="searchbox-body">');
document.writeln('<form name="search" style="margin:0px; padding:0px" onSubmit=\'return jump()\'>');
document.writeln('<a class="searchbox-body" href="_classes/index.html">Class<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="classname"><br>');
document.writeln('<a id="funcsearchlink" class="searchbox-body" href="_functions/index.html">Function<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="funcname"><br>');
document.writeln('<a class="searchbox-body" href="_variables/index.html">Variable<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="varname"><br>');
document.writeln('<a class="searchbox-body" href="_constants/index.html">Constant<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="constname"><br>');
document.writeln('<a class="searchbox-body" href="_tables/index.html">Table<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="tablename"><br>');
document.writeln('<input type="submit" class="searchbox-button" value="Search">');
document.writeln('<\/form>');
document.writeln('<\/td><\/tr><\/table>');
document.writeln('<\/td><\/tr><\/table>');
// -->
</script>
<div id="search-popup" class="searchpopup"><p id="searchpopup-title" class="searchpopup-title">title</p><div id="searchpopup-body" class="searchpopup-body">Body</div><p class="searchpopup-close"><a href="javascript:gwCloseActive()">[close]</a></p></div>
<h2 class="listing-heading"><a href="./index.html">/</a> -> <a href="open-sso.abstract.php.html">open-sso.abstract.php</a> (source)</h2>
<div class="listing">
<p class="viewlinks">[<a href="open-sso.abstract.php.html">Summary view</a>]
[<a href="javascript:window.print();">Print</a>]
[<a href="open-sso.abstract.php.source.txt" target="_new">Text view</a>]
</p>
<pre>
<a name="l1"><span class="linenum">   1</span></a>  &lt;?php
<a name="l2"><span class="linenum">   2</span></a>  <span class="comment">/**</span>
<a name="l3"><span class="linenum">   3</span></a>  <span class="comment"> * Core Absctract for OpenSSO PHP library.</span>
<a name="l4"><span class="linenum">   4</span></a>  <span class="comment"> *</span>
<a name="l5"><span class="linenum">   5</span></a>  <span class="comment"> * This class implements the API and the core functions.</span>
<a name="l6"><span class="linenum">   6</span></a>  <span class="comment"> *</span>
<a name="l7"><span class="linenum">   7</span></a>  <span class="comment"> * @category   OpenSSO_PHP</span>
<a name="l8"><span class="linenum">   8</span></a>  <span class="comment"> * @package    OpenSSO_PHP</span>
<a name="l9"><span class="linenum">   9</span></a>  <span class="comment"> * @link       http://kir-dev.sch.bme.hu/opensso-phplib/</span>
<a name="l10"><span class="linenum">  10</span></a>  <span class="comment"> * @author     Pásztor Gergő &lt;pairghu@gmail.com&gt; from KirDev &lt;kir-dev@sch.bme.hu&gt;</span>
<a name="l11"><span class="linenum">  11</span></a>  <span class="comment"> * @copyright  Copyright (c) 2009, KirDev</span>
<a name="l12"><span class="linenum">  12</span></a>  <span class="comment"> * @license    http://www.opensource.org/licenses/gpl-license.php GPL</span>
<a name="l13"><span class="linenum">  13</span></a>  <span class="comment"> * @filesource</span>
<a name="l14"><span class="linenum">  14</span></a>  <span class="comment"> *</span>
<a name="l15"><span class="linenum">  15</span></a>  <span class="comment"> * @version 1.5.1</span>
<a name="l16"><span class="linenum">  16</span></a>  <span class="comment"> */</span>
<a name="l17"><span class="linenum">  17</span></a>  
<a name="l18"><span class="linenum">  18</span></a>  <span class="keyword">require_once</span> <a class="filename" href="open-sso.interface.php.html" onMouseOver="reqPopup(event, 'open-sso.interface.php', 'open-sso.interface.php')">('open-sso.interface.php')</a>;
<a name="l19"><span class="linenum">  19</span></a>  
<a name="l20"><span class="linenum">  20</span></a>  abstract class openSSO_Abstract <span class="keyword">implements</span> <a class="class" onClick="logClass('openSSO_API')" href="_classes/opensso_api.html" onMouseOver="classPopup(event,'opensso_api')">openSSO_API</a>
<a name="l21"><span class="linenum">  21</span></a>  {
<a name="l22"><span class="linenum">  22</span></a>  
<a name="l23"><span class="linenum">  23</span></a>      <span class="comment">/**</span>
<a name="l24"><span class="linenum">  24</span></a>  <span class="comment">     * Abstract functions</span>
<a name="l25"><span class="linenum">  25</span></a>  <span class="comment">     */</span>
<a name="l26"><span class="linenum">  26</span></a>  
<a name="l27"><span class="linenum">  27</span></a>      <span class="comment">/**</span>
<a name="l28"><span class="linenum">  28</span></a>  <span class="comment">     * Get data from the session.</span>
<a name="l29"><span class="linenum">  29</span></a>  <span class="comment">     *</span>
<a name="l30"><span class="linenum">  30</span></a>  <span class="comment">     * @param (string) $name Name of the data.</span>
<a name="l31"><span class="linenum">  31</span></a>  <span class="comment">     * @return (multi) Value of the data.</span>
<a name="l32"><span class="linenum">  32</span></a>  <span class="comment">     */</span>
<a name="l33"><span class="linenum">  33</span></a>      abstract protected function <a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>(<a class="var it2" onMouseOver="hilite(2)" onMouseOut="lolite()" onClick="logVariable('name')" href="_variables/name.html">$name</a>);
<a name="l34"><span class="linenum">  34</span></a>      
<a name="l35"><span class="linenum">  35</span></a>      <span class="comment">/**</span>
<a name="l36"><span class="linenum">  36</span></a>  <span class="comment">     * Set data to the session.</span>
<a name="l37"><span class="linenum">  37</span></a>  <span class="comment">     * Set the '$value' data to the session with '$name' name.</span>
<a name="l38"><span class="linenum">  38</span></a>  <span class="comment">     * If this name exists overwrite it.</span>
<a name="l39"><span class="linenum">  39</span></a>  <span class="comment">     * If this name don't exists create it.</span>
<a name="l40"><span class="linenum">  40</span></a>  <span class="comment">     *</span>
<a name="l41"><span class="linenum">  41</span></a>  <span class="comment">     * @param (string) $name Name of the data.</span>
<a name="l42"><span class="linenum">  42</span></a>  <span class="comment">     * @param (multi) $value Value of the data.</span>
<a name="l43"><span class="linenum">  43</span></a>  <span class="comment">     * @return void</span>
<a name="l44"><span class="linenum">  44</span></a>  <span class="comment">     */</span>
<a name="l45"><span class="linenum">  45</span></a>      abstract protected function <a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>(<a class="var it2" onMouseOver="hilite(2)" onMouseOut="lolite()" onClick="logVariable('name')" href="_variables/name.html">$name</a>, <a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>);
<a name="l46"><span class="linenum">  46</span></a>      
<a name="l47"><span class="linenum">  47</span></a>      <span class="comment">/**</span>
<a name="l48"><span class="linenum">  48</span></a>  <span class="comment">     * Create user.</span>
<a name="l49"><span class="linenum">  49</span></a>  <span class="comment">     * Create user with data from the '$data' param (user's SSO data).</span>
<a name="l50"><span class="linenum">  50</span></a>  <span class="comment">     * Insert to DB or whatever you store the users.</span>
<a name="l51"><span class="linenum">  51</span></a>  <span class="comment">     * Syntax: The data name that you setted in config file ('user' array) with 'sso_' prefix.</span>
<a name="l52"><span class="linenum">  52</span></a>  <span class="comment">     *            Plus 'user_name', 'user_virid', 'user_groups' variables, and these with 'sso_' prefix.</span>
<a name="l53"><span class="linenum">  53</span></a>  <span class="comment">     *</span>
<a name="l54"><span class="linenum">  54</span></a>  <span class="comment">     * @param (array) $data Single array of the user's SSO data. Keys represents the data name.</span>
<a name="l55"><span class="linenum">  55</span></a>  <span class="comment">     * @return void</span>
<a name="l56"><span class="linenum">  56</span></a>  <span class="comment">     */</span>
<a name="l57"><span class="linenum">  57</span></a>      abstract protected function <a class="function" onClick="logFunction('insertUser')" href="_functions/insertuser.html" onMouseOver="funcPopup(event,'insertuser')">insertUser</a>(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>);
<a name="l58"><span class="linenum">  58</span></a>      
<a name="l59"><span class="linenum">  59</span></a>      <span class="comment">/**</span>
<a name="l60"><span class="linenum">  60</span></a>  <span class="comment">     * Get the user's data.</span>
<a name="l61"><span class="linenum">  61</span></a>  <span class="comment">     * Select user where the user name is equal with the '$userName' param.</span>
<a name="l62"><span class="linenum">  62</span></a>  <span class="comment">     * Read from DB or whatever you store the users.</span>
<a name="l63"><span class="linenum">  63</span></a>  <span class="comment">     * Return with all of the data that you store to this user (SSO and none SSO data).</span>
<a name="l64"><span class="linenum">  64</span></a>  <span class="comment">     * You must return the data names that the program add when the data stored (insert, update)!</span>
<a name="l65"><span class="linenum">  65</span></a>  <span class="comment">     *</span>
<a name="l66"><span class="linenum">  66</span></a>  <span class="comment">     * @param (string) $userName The unique user name.</span>
<a name="l67"><span class="linenum">  67</span></a>  <span class="comment">     * @return (array) Single array of the user's data (SSO and none SSO). Keys represents the data name.</span>
<a name="l68"><span class="linenum">  68</span></a>  <span class="comment">     */</span>
<a name="l69"><span class="linenum">  69</span></a>      abstract protected function <a class="function" onClick="logFunction('selectUser')" href="_functions/selectuser.html" onMouseOver="funcPopup(event,'selectuser')">selectUser</a>(<a class="var it5" onMouseOver="hilite(5)" onMouseOut="lolite()" onClick="logVariable('userName')" href="_variables/userName.html">$userName</a>);
<a name="l70"><span class="linenum">  70</span></a>      
<a name="l71"><span class="linenum">  71</span></a>      <span class="comment">/**</span>
<a name="l72"><span class="linenum">  72</span></a>  <span class="comment">     * Update user's data.</span>
<a name="l73"><span class="linenum">  73</span></a>  <span class="comment">     * Update all (SSO and none SSO) user's data where the user name is equal with the '$userName' param.</span>
<a name="l74"><span class="linenum">  74</span></a>  <span class="comment">     * Update in DB or whatever you store the users.</span>
<a name="l75"><span class="linenum">  75</span></a>  <span class="comment">     * '$data' syntax: The data name that you setted in config file with 'sso_' prefix.</span>
<a name="l76"><span class="linenum">  76</span></a>  <span class="comment">     *                 Plus 'user_name', 'user_virid', 'user_groups' variables, and these with 'sso_' prefix.</span>
<a name="l77"><span class="linenum">  77</span></a>  <span class="comment">     *                 Plus your other data that added with 'setUserData();' function.</span>
<a name="l78"><span class="linenum">  78</span></a>  <span class="comment">     *</span>
<a name="l79"><span class="linenum">  79</span></a>  <span class="comment">     * @param (string) $userName The unique user name.</span>
<a name="l80"><span class="linenum">  80</span></a>  <span class="comment">     * @param (array) $data Single array of the user's data (SSO and none SSO). Keys represents the data name.</span>
<a name="l81"><span class="linenum">  81</span></a>  <span class="comment">     * @return void</span>
<a name="l82"><span class="linenum">  82</span></a>  <span class="comment">     */</span>
<a name="l83"><span class="linenum">  83</span></a>      abstract protected function <a class="function" onClick="logFunction('updateUser')" href="_functions/updateuser.html" onMouseOver="funcPopup(event,'updateuser')">updateUser</a>(<a class="var it5" onMouseOver="hilite(5)" onMouseOut="lolite()" onClick="logVariable('userName')" href="_variables/userName.html">$userName</a>, <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>);
<a name="l84"><span class="linenum">  84</span></a>  
<a name="l85"><span class="linenum">  85</span></a>      <span class="comment">/**</span>
<a name="l86"><span class="linenum">  86</span></a>  <span class="comment">     * End of Abstract functions</span>
<a name="l87"><span class="linenum">  87</span></a>  <span class="comment">     */</span>
<a name="l88"><span class="linenum">  88</span></a>  
<a name="l89"><span class="linenum">  89</span></a>  
<a name="l90"><span class="linenum">  90</span></a>      <span class="comment">/**</span>
<a name="l91"><span class="linenum">  91</span></a>  <span class="comment">     * Hooks</span>
<a name="l92"><span class="linenum">  92</span></a>  <span class="comment">     */</span>
<a name="l93"><span class="linenum">  93</span></a>      
<a name="l94"><span class="linenum">  94</span></a>      <span class="comment">/**</span>
<a name="l95"><span class="linenum">  95</span></a>  <span class="comment">     * Hook: Login</span>
<a name="l96"><span class="linenum">  96</span></a>  <span class="comment">     * Call this function after the lib checked the required user data, and created the session.</span>
<a name="l97"><span class="linenum">  97</span></a>  <span class="comment">     * (Call this function after the login method.)     </span>
<a name="l98"><span class="linenum">  98</span></a>  <span class="comment">     *</span>
<a name="l99"><span class="linenum">  99</span></a>  <span class="comment">     * @param void</span>
<a name="l100"><span class="linenum"> 100</span></a>  <span class="comment">     * @return void</span>
<a name="l101"><span class="linenum"> 101</span></a>  <span class="comment">     */</span>
<a name="l102"><span class="linenum"> 102</span></a>  	protected function <a class="function" onClick="logFunction('hookLogin')" href="_functions/hooklogin.html" onMouseOver="funcPopup(event,'hooklogin')">hookLogin</a>(){}
<a name="l103"><span class="linenum"> 103</span></a>      
<a name="l104"><span class="linenum"> 104</span></a>      <span class="comment">/**</span>
<a name="l105"><span class="linenum"> 105</span></a>  <span class="comment">     * Hook: Logout</span>
<a name="l106"><span class="linenum"> 106</span></a>  <span class="comment">     * Call this function after the lib &quot;destroy&quot; the session.</span>
<a name="l107"><span class="linenum"> 107</span></a>  <span class="comment">     * (Call this function after the logout method.)     </span>
<a name="l108"><span class="linenum"> 108</span></a>  <span class="comment">     *</span>
<a name="l109"><span class="linenum"> 109</span></a>  <span class="comment">     * @param void</span>
<a name="l110"><span class="linenum"> 110</span></a>  <span class="comment">     * @return void</span>
<a name="l111"><span class="linenum"> 111</span></a>  <span class="comment">     */</span>
<a name="l112"><span class="linenum"> 112</span></a>  	protected function <a class="function" onClick="logFunction('hookLogout')" href="_functions/hooklogout.html" onMouseOver="funcPopup(event,'hooklogout')">hookLogout</a>(){}
<a name="l113"><span class="linenum"> 113</span></a>  
<a name="l114"><span class="linenum"> 114</span></a>      <span class="comment">/**</span>
<a name="l115"><span class="linenum"> 115</span></a>  <span class="comment">     * Hook: Is Error?</span>
<a name="l116"><span class="linenum"> 116</span></a>  <span class="comment">     * Call this function to determine that error is occured or not.</span>
<a name="l117"><span class="linenum"> 117</span></a>  <span class="comment">     *</span>
<a name="l118"><span class="linenum"> 118</span></a>  <span class="comment">     * @param void</span>
<a name="l119"><span class="linenum"> 119</span></a>  <span class="comment">     * @return (bool) 'TRUE' if error is occured and 'FALSE' otherwise.</span>
<a name="l120"><span class="linenum"> 120</span></a>  <span class="comment">     */</span>
<a name="l121"><span class="linenum"> 121</span></a>  	protected function <a class="function" onClick="logFunction('hookIsError')" href="_functions/hookiserror.html" onMouseOver="funcPopup(event,'hookiserror')">hookIsError</a>(){}
<a name="l122"><span class="linenum"> 122</span></a>  
<a name="l123"><span class="linenum"> 123</span></a>      <span class="comment">/**</span>
<a name="l124"><span class="linenum"> 124</span></a>  <span class="comment">     * Hook: Error</span>
<a name="l125"><span class="linenum"> 125</span></a>  <span class="comment">     * Call this function when the IDP or the SP is down.</span>
<a name="l126"><span class="linenum"> 126</span></a>  <span class="comment">     *</span>
<a name="l127"><span class="linenum"> 127</span></a>  <span class="comment">     * @param void</span>
<a name="l128"><span class="linenum"> 128</span></a>  <span class="comment">     * @return void</span>
<a name="l129"><span class="linenum"> 129</span></a>  <span class="comment">     */</span>
<a name="l130"><span class="linenum"> 130</span></a>  	protected function <a class="function" onClick="logFunction('hookError')" href="_functions/hookerror.html" onMouseOver="funcPopup(event,'hookerror')">hookError</a>(){}
<a name="l131"><span class="linenum"> 131</span></a>      
<a name="l132"><span class="linenum"> 132</span></a>      <span class="comment">/**</span>
<a name="l133"><span class="linenum"> 133</span></a>  <span class="comment">     * End of Hooks</span>
<a name="l134"><span class="linenum"> 134</span></a>  <span class="comment">     */</span>
<a name="l135"><span class="linenum"> 135</span></a>      
<a name="l136"><span class="linenum"> 136</span></a>      
<a name="l137"><span class="linenum"> 137</span></a>      
<a name="l138"><span class="linenum"> 138</span></a>      <span class="comment">/**</span>
<a name="l139"><span class="linenum"> 139</span></a>  <span class="comment">     * Class data</span>
<a name="l140"><span class="linenum"> 140</span></a>  <span class="comment">     */</span>
<a name="l141"><span class="linenum"> 141</span></a>      
<a name="l142"><span class="linenum"> 142</span></a>  <span class="comment">    // Data from IDP</span>
<a name="l143"><span class="linenum"> 143</span></a>      private <a class="var it5" onMouseOver="hilite(5)" onMouseOut="lolite()" onClick="logVariable('userName')" href="_variables/userName.html">$userName</a>;
<a name="l144"><span class="linenum"> 144</span></a>      private <a class="var it7" onMouseOver="hilite(7)" onMouseOut="lolite()" onClick="logVariable('userGroups')" href="_variables/userGroups.html">$userGroups</a>;
<a name="l145"><span class="linenum"> 145</span></a>      private <a class="var it8" onMouseOver="hilite(8)" onMouseOut="lolite()" onClick="logVariable('userVirid')" href="_variables/userVirid.html">$userVirid</a>;
<a name="l146"><span class="linenum"> 146</span></a>      private <a class="var it9" onMouseOver="hilite(9)" onMouseOut="lolite()" onClick="logVariable('ssoUser')" href="_variables/ssoUser.html">$ssoUser</a> = array();
<a name="l147"><span class="linenum"> 147</span></a>      
<a name="l148"><span class="linenum"> 148</span></a>  <span class="comment">    // Data from database</span>
<a name="l149"><span class="linenum"> 149</span></a>      private <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a> = array();
<a name="l150"><span class="linenum"> 150</span></a>      
<a name="l151"><span class="linenum"> 151</span></a>  <span class="comment">    // Other data</span>
<a name="l152"><span class="linenum"> 152</span></a>      private <a class="var it11" onMouseOver="hilite(11)" onMouseOut="lolite()" onClick="logVariable('conf')" href="_variables/conf.html">$conf</a> = array();
<a name="l153"><span class="linenum"> 153</span></a>      private <a class="var it12" onMouseOver="hilite(12)" onMouseOut="lolite()" onClick="logVariable('idpCookie')" href="_variables/idpCookie.html">$idpCookie</a>;
<a name="l154"><span class="linenum"> 154</span></a>      
<a name="l155"><span class="linenum"> 155</span></a>      <span class="comment">/**</span>
<a name="l156"><span class="linenum"> 156</span></a>  <span class="comment">     * End of Class data</span>
<a name="l157"><span class="linenum"> 157</span></a>  <span class="comment">     */</span>
<a name="l158"><span class="linenum"> 158</span></a>      
<a name="l159"><span class="linenum"> 159</span></a>      
<a name="l160"><span class="linenum"> 160</span></a>      
<a name="l161"><span class="linenum"> 161</span></a>      <span class="comment">/**</span>
<a name="l162"><span class="linenum"> 162</span></a>  <span class="comment">     * PHP4 constructor</span>
<a name="l163"><span class="linenum"> 163</span></a>  <span class="comment">     */</span>
<a name="l164"><span class="linenum"> 164</span></a>  	function <a class="function" onClick="logFunction('openSSO_Abstract')" href="_functions/opensso_abstract.html" onMouseOver="funcPopup(event,'opensso_abstract')">openSSO_Abstract</a>()
<a name="l165"><span class="linenum"> 165</span></a>      {
<a name="l166"><span class="linenum"> 166</span></a>  <span class="comment">        // Load config</span>
<a name="l167"><span class="linenum"> 167</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_loadConfig')" href="_functions/_loadconfig.html" onMouseOver="funcPopup(event,'_loadconfig')">_loadConfig</a>();
<a name="l168"><span class="linenum"> 168</span></a>  
<a name="l169"><span class="linenum"> 169</span></a>  <span class="comment">        // Downtime check</span>
<a name="l170"><span class="linenum"> 170</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_isError')" href="_functions/_iserror.html" onMouseOver="funcPopup(event,'_iserror')">_isError</a>()){
<a name="l171"><span class="linenum"> 171</span></a>              <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_logout')" href="_functions/_logout.html" onMouseOver="funcPopup(event,'_logout')">_logout</a>();
<a name="l172"><span class="linenum"> 172</span></a>              <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('hookError')" href="_functions/hookerror.html" onMouseOver="funcPopup(event,'hookerror')">hookError</a>();
<a name="l173"><span class="linenum"> 173</span></a>              return;
<a name="l174"><span class="linenum"> 174</span></a>          }
<a name="l175"><span class="linenum"> 175</span></a>          
<a name="l176"><span class="linenum"> 176</span></a>  <span class="comment">        // Get HTTPS protocol</span>
<a name="l177"><span class="linenum"> 177</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['ssl'] AND <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>() === TRUE) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('https')" href="_functions/https.html" onMouseOver="funcPopup(event,'https')">https</a>();
<a name="l178"><span class="linenum"> 178</span></a>              
<a name="l179"><span class="linenum"> 179</span></a>  <span class="comment">        // Set the user's data</span>
<a name="l180"><span class="linenum"> 180</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['userName']);
<a name="l181"><span class="linenum"> 181</span></a>          if(<a class="phpfunction" onClick="logFunction('is_array')" href="_functions/is_array.html" onMouseOver="phpfuncPopup(event,'is_array')">is_array</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['user']))
<a name="l182"><span class="linenum"> 182</span></a>          {
<a name="l183"><span class="linenum"> 183</span></a>              foreach(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['user'] AS <a class="var it14" onMouseOver="hilite(14)" onMouseOut="lolite()" onClick="logVariable('key')" href="_variables/key.html">$key</a> =&gt; <a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>)
<a name="l184"><span class="linenum"> 184</span></a>              {
<a name="l185"><span class="linenum"> 185</span></a>                  if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>(<a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>) !== FALSE) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('ssoUser')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/ssoUser.html">ssoUser</a>['sso_'.<a class="var it14" onMouseOver="hilite(14)" onMouseOut="lolite()" onClick="logVariable('key')" href="_variables/key.html">$key</a>] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>(<a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>);
<a name="l186"><span class="linenum"> 186</span></a>              }
<a name="l187"><span class="linenum"> 187</span></a>          }
<a name="l188"><span class="linenum"> 188</span></a>          
<a name="l189"><span class="linenum"> 189</span></a>  <span class="comment">        // Clean and convert user's special data</span>
<a name="l190"><span class="linenum"> 190</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userGroups')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userGroups.html">userGroups</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_setGroups')" href="_functions/_setgroups.html" onMouseOver="funcPopup(event,'_setgroups')">_setGroups</a>();
<a name="l191"><span class="linenum"> 191</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userVirid')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userVirid.html">userVirid</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_setVirid')" href="_functions/_setvirid.html" onMouseOver="funcPopup(event,'_setvirid')">_setVirid</a>();
<a name="l192"><span class="linenum"> 192</span></a>          
<a name="l193"><span class="linenum"> 193</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['shibSp'])
<a name="l194"><span class="linenum"> 194</span></a>          {
<a name="l195"><span class="linenum"> 195</span></a>  <span class="comment">            // If the user logged in, but the user name not setted OR the shib session is inactive: logout</span>
<a name="l196"><span class="linenum"> 196</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_isRealLogin')" href="_functions/_isreallogin.html" onMouseOver="funcPopup(event,'_isreallogin')">_isRealLogin</a>() === FALSE AND <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>() === TRUE)
<a name="l197"><span class="linenum"> 197</span></a>              {
<a name="l198"><span class="linenum"> 198</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login_state', TRUE);
<a name="l199"><span class="linenum"> 199</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('logOut')" href="_functions/logout.html" onMouseOver="funcPopup(event,'logout')">logOut</a>();
<a name="l200"><span class="linenum"> 200</span></a>              }
<a name="l201"><span class="linenum"> 201</span></a>  
<a name="l202"><span class="linenum"> 202</span></a>  <span class="comment">            // If the session's user name not equal with the server's user name: reset user's data</span>
<a name="l203"><span class="linenum"> 203</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>('sso_user') !== <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a> AND <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>() === TRUE)
<a name="l204"><span class="linenum"> 204</span></a>              {
<a name="l205"><span class="linenum"> 205</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_logout')" href="_functions/_logout.html" onMouseOver="funcPopup(event,'_logout')">_logout</a>();
<a name="l206"><span class="linenum"> 206</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_login')" href="_functions/_login.html" onMouseOver="funcPopup(event,'_login')">_login</a>();
<a name="l207"><span class="linenum"> 207</span></a>              }
<a name="l208"><span class="linenum"> 208</span></a>          }
<a name="l209"><span class="linenum"> 209</span></a>          else
<a name="l210"><span class="linenum"> 210</span></a>          {
<a name="l211"><span class="linenum"> 211</span></a>  <span class="comment">            // Set idpCookie</span>
<a name="l212"><span class="linenum"> 212</span></a>              <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('idpCookie')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/idpCookie.html">idpCookie</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('cookie')" href="_functions/cookie.html" onMouseOver="funcPopup(event,'cookie')">cookie</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['idpCookie']);
<a name="l213"><span class="linenum"> 213</span></a>                  
<a name="l214"><span class="linenum"> 214</span></a>  <span class="comment">            // If the session's user name not equal with the server's user name: reset user's data</span>
<a name="l215"><span class="linenum"> 215</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>('sso_user') !== <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a> AND <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>() === TRUE)
<a name="l216"><span class="linenum"> 216</span></a>              {
<a name="l217"><span class="linenum"> 217</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_logout')" href="_functions/_logout.html" onMouseOver="funcPopup(event,'_logout')">_logout</a>();
<a name="l218"><span class="linenum"> 218</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_login')" href="_functions/_login.html" onMouseOver="funcPopup(event,'_login')">_login</a>();
<a name="l219"><span class="linenum"> 219</span></a>              }
<a name="l220"><span class="linenum"> 220</span></a>              
<a name="l221"><span class="linenum"> 221</span></a>  <span class="comment">            // If the user logged in, but logged out in idp: logout</span>
<a name="l222"><span class="linenum"> 222</span></a>              if(empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('idpCookie')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/idpCookie.html">idpCookie</a>) AND <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>() === TRUE)
<a name="l223"><span class="linenum"> 223</span></a>              {
<a name="l224"><span class="linenum"> 224</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login_state', TRUE);
<a name="l225"><span class="linenum"> 225</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('logOut')" href="_functions/logout.html" onMouseOver="funcPopup(event,'logout')">logOut</a>();
<a name="l226"><span class="linenum"> 226</span></a>              }
<a name="l227"><span class="linenum"> 227</span></a>              
<a name="l228"><span class="linenum"> 228</span></a>  <span class="comment">            // If the user logged in, but their data in the server not setted: redirect to trigger</span>
<a name="l229"><span class="linenum"> 229</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>() === TRUE AND !empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('idpCookie')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/idpCookie.html">idpCookie</a>) AND empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>))
<a name="l230"><span class="linenum"> 230</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_path2url')" href="_functions/_path2url.html" onMouseOver="funcPopup(event,'_path2url')">_path2url</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['trigger']));
<a name="l231"><span class="linenum"> 231</span></a>          
<a name="l232"><span class="linenum"> 232</span></a>          }
<a name="l233"><span class="linenum"> 233</span></a>          
<a name="l234"><span class="linenum"> 234</span></a>      }
<a name="l235"><span class="linenum"> 235</span></a>      
<a name="l236"><span class="linenum"> 236</span></a>      
<a name="l237"><span class="linenum"> 237</span></a>      <span class="comment">/**</span>
<a name="l238"><span class="linenum"> 238</span></a>  <span class="comment">     * PHP5 constructor.</span>
<a name="l239"><span class="linenum"> 239</span></a>  <span class="comment">     * Use the PHP4 constructor.</span>
<a name="l240"><span class="linenum"> 240</span></a>  <span class="comment">     */</span>
<a name="l241"><span class="linenum"> 241</span></a>  	function <a class="function" onClick="logFunction('__construct')" href="_functions/__construct.html" onMouseOver="funcPopup(event,'__construct')">__construct</a>()
<a name="l242"><span class="linenum"> 242</span></a>      {
<a name="l243"><span class="linenum"> 243</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('openSSO_Abstract')" href="_functions/opensso_abstract.html" onMouseOver="funcPopup(event,'opensso_abstract')">openSSO_Abstract</a>();
<a name="l244"><span class="linenum"> 244</span></a>      }
<a name="l245"><span class="linenum"> 245</span></a>      
<a name="l246"><span class="linenum"> 246</span></a>      
<a name="l247"><span class="linenum"> 247</span></a>      <span class="comment">/**</span>
<a name="l248"><span class="linenum"> 248</span></a>  <span class="comment">     * PHP5 destructor</span>
<a name="l249"><span class="linenum"> 249</span></a>  <span class="comment">     */</span>
<a name="l250"><span class="linenum"> 250</span></a>  	function <a class="function" onClick="logFunction('__destruct')" href="_functions/__destruct.html" onMouseOver="funcPopup(event,'__destruct')">__destruct</a>()
<a name="l251"><span class="linenum"> 251</span></a>      {
<a name="l252"><span class="linenum"> 252</span></a>          unset(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>);
<a name="l253"><span class="linenum"> 253</span></a>      }
<a name="l254"><span class="linenum"> 254</span></a>      
<a name="l255"><span class="linenum"> 255</span></a>      
<a name="l256"><span class="linenum"> 256</span></a>      <span class="comment">/**</span>
<a name="l257"><span class="linenum"> 257</span></a>  <span class="comment">     * Load config and set default values.</span>
<a name="l258"><span class="linenum"> 258</span></a>  <span class="comment">     * Default values make more compatibility to older versions.</span>
<a name="l259"><span class="linenum"> 259</span></a>  <span class="comment">     *</span>
<a name="l260"><span class="linenum"> 260</span></a>  <span class="comment">     * @param void</span>
<a name="l261"><span class="linenum"> 261</span></a>  <span class="comment">     * @return void</span>
<a name="l262"><span class="linenum"> 262</span></a>  <span class="comment">     */</span>
<a name="l263"><span class="linenum"> 263</span></a>  	private function <a class="function" onClick="logFunction('_loadConfig')" href="_functions/_loadconfig.html" onMouseOver="funcPopup(event,'_loadconfig')">_loadConfig</a>()
<a name="l264"><span class="linenum"> 264</span></a>      {
<a name="l265"><span class="linenum"> 265</span></a>  <span class="comment">        // Load config</span>
<a name="l266"><span class="linenum"> 266</span></a>          if(!<a class="phpfunction" onClick="logFunction('defined')" href="_functions/defined.html" onMouseOver="phpfuncPopup(event,'defined')">defined</a>('<a class="constant" onClick="logConstant('SSOCONFIG')" href="_constants/SSOCONFIG.html" onMouseOver="constPopup(event,'SSOCONFIG')">SSOCONFIG</a>'))
<a name="l267"><span class="linenum"> 267</span></a>          {
<a name="l268"><span class="linenum"> 268</span></a>              <a class="phpfunction" onClick="logFunction('define')" href="_functions/define.html" onMouseOver="phpfuncPopup(event,'define')">define</a>('<a class="constant" onClick="logConstant('SSOCONFIG')" href="_constants/SSOCONFIG.html" onMouseOver="constPopup(event,'SSOCONFIG')">SSOCONFIG</a>', 1);
<a name="l269"><span class="linenum"> 269</span></a>  <span class="comment">            // Compatibility to ver. 1.0.0</span>
<a name="l270"><span class="linenum"> 270</span></a>              <a class="phpfunction" onClick="logFunction('define')" href="_functions/define.html" onMouseOver="phpfuncPopup(event,'define')">define</a>('<a class="constant" onClick="logConstant('CONFIG')" href="_constants/CONFIG.html" onMouseOver="constPopup(event,'CONFIG')">CONFIG</a>', 1);
<a name="l271"><span class="linenum"> 271</span></a>              <span class="keyword">require_once</span> <a class="filename" href="config.php.html" onMouseOver="reqPopup(event, 'config.php', 'config.php')">('config.php')</a>;
<a name="l272"><span class="linenum"> 272</span></a>              <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a> = <a class="var it6" onMouseOver="hilite(6)" onMouseOut="lolite()" onClick="logVariable('config')" href="_variables/config.html">$config</a>;
<a name="l273"><span class="linenum"> 273</span></a>          }
<a name="l274"><span class="linenum"> 274</span></a>  
<a name="l275"><span class="linenum"> 275</span></a>  <span class="comment">        // Convert version 1.0.0 config to 1.5.0 config - Compatibility</span>
<a name="l276"><span class="linenum"> 276</span></a>          <a class="var it15" onMouseOver="hilite(15)" onMouseOut="lolite()" onClick="logVariable('convertConfig')" href="_variables/convertConfig.html">$convertConfig</a> = array(
<a name="l277"><span class="linenum"> 277</span></a>              'user_name' =&gt; 'userName',
<a name="l278"><span class="linenum"> 278</span></a>              'user_groups' =&gt; 'userGroups',
<a name="l279"><span class="linenum"> 279</span></a>              'user_virid' =&gt; 'userVirid',
<a name="l280"><span class="linenum"> 280</span></a>              'loginUrl' =&gt; 'idpLoginUrl',
<a name="l281"><span class="linenum"> 281</span></a>              'logoutUrl' =&gt; 'idpLogoutUrl',
<a name="l282"><span class="linenum"> 282</span></a>              'returnIdpParam' =&gt; 'idpUrlParam',
<a name="l283"><span class="linenum"> 283</span></a>              'returnParam' =&gt; 'urlParam'
<a name="l284"><span class="linenum"> 284</span></a>              );
<a name="l285"><span class="linenum"> 285</span></a>  
<a name="l286"><span class="linenum"> 286</span></a>          foreach(<a class="var it15" onMouseOver="hilite(15)" onMouseOut="lolite()" onClick="logVariable('convertConfig')" href="_variables/convertConfig.html">$convertConfig</a> AS <a class="var it16" onMouseOver="hilite(16)" onMouseOut="lolite()" onClick="logVariable('old')" href="_variables/old.html">$old</a> =&gt; <a class="var it17" onMouseOver="hilite(17)" onMouseOut="lolite()" onClick="logVariable('new')" href="_variables/new.html">$new</a>)
<a name="l287"><span class="linenum"> 287</span></a>          {
<a name="l288"><span class="linenum"> 288</span></a>              if(!isset(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>[<a class="var it17" onMouseOver="hilite(17)" onMouseOut="lolite()" onClick="logVariable('new')" href="_variables/new.html">$new</a>]) AND isset(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>[<a class="var it16" onMouseOver="hilite(16)" onMouseOut="lolite()" onClick="logVariable('old')" href="_variables/old.html">$old</a>])) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>[<a class="var it17" onMouseOver="hilite(17)" onMouseOut="lolite()" onClick="logVariable('new')" href="_variables/new.html">$new</a>] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>[<a class="var it16" onMouseOver="hilite(16)" onMouseOut="lolite()" onClick="logVariable('old')" href="_variables/old.html">$old</a>];
<a name="l289"><span class="linenum"> 289</span></a>          }
<a name="l290"><span class="linenum"> 290</span></a>          
<a name="l291"><span class="linenum"> 291</span></a>  <span class="comment">        // Compatibility - Default values</span>
<a name="l292"><span class="linenum"> 292</span></a>          <a class="var it18" onMouseOver="hilite(18)" onMouseOut="lolite()" onClick="logVariable('defaultConfig')" href="_variables/defaultConfig.html">$defaultConfig</a> = array(
<a name="l293"><span class="linenum"> 293</span></a>              'shibSp' =&gt; FALSE,
<a name="l294"><span class="linenum"> 294</span></a>              'shibIdpLogout' =&gt; TRUE,
<a name="l295"><span class="linenum"> 295</span></a>              'ssl' =&gt; TRUE,
<a name="l296"><span class="linenum"> 296</span></a>              'userName' =&gt; 'REMOTE_USER',
<a name="l297"><span class="linenum"> 297</span></a>              'userGroups' =&gt; 'HTTP_EDUPERSONENTITLEMENT',
<a name="l298"><span class="linenum"> 298</span></a>              'userVirid' =&gt; 'HTTP_VIRID',
<a name="l299"><span class="linenum"> 299</span></a>              'user' =&gt; '',
<a name="l300"><span class="linenum"> 300</span></a>              'userRequire' =&gt; '',
<a name="l301"><span class="linenum"> 301</span></a>              'idpCookie' =&gt; 'sunIdentityServerAuthNServer',
<a name="l302"><span class="linenum"> 302</span></a>              'idpLoginUrl' =&gt; 'https://idp.sch.bme.hu/opensso/UI/Login',
<a name="l303"><span class="linenum"> 303</span></a>              'idpLogoutUrl' =&gt; 'https://idp.sch.bme.hu/opensso/UI/Logout',
<a name="l304"><span class="linenum"> 304</span></a>              'idpUrlParam' =&gt; 'goto',
<a name="l305"><span class="linenum"> 305</span></a>              'spLoginUrl' =&gt; '/Shibboleth.sso/Login',
<a name="l306"><span class="linenum"> 306</span></a>              'spLoginUrlParam' =&gt; 'target',
<a name="l307"><span class="linenum"> 307</span></a>              'spLogoutUrl' =&gt; '/Shibboleth.sso/Logout',
<a name="l308"><span class="linenum"> 308</span></a>              'spLogoutUrlParam' =&gt; 'return',
<a name="l309"><span class="linenum"> 309</span></a>              'trigger' =&gt; '<a class="filename" href="trigger.php.html">/trigger.php</a>',
<a name="l310"><span class="linenum"> 310</span></a>              'loginPage' =&gt; '',
<a name="l311"><span class="linenum"> 311</span></a>              'urlParam' =&gt; '',
<a name="l312"><span class="linenum"> 312</span></a>              'downtimeStart' =&gt; '',
<a name="l313"><span class="linenum"> 313</span></a>              'downtimeEnd' =&gt; ''
<a name="l314"><span class="linenum"> 314</span></a>          );
<a name="l315"><span class="linenum"> 315</span></a>  
<a name="l316"><span class="linenum"> 316</span></a>          foreach(<a class="var it18" onMouseOver="hilite(18)" onMouseOut="lolite()" onClick="logVariable('defaultConfig')" href="_variables/defaultConfig.html">$defaultConfig</a> AS <a class="var it19" onMouseOver="hilite(19)" onMouseOut="lolite()" onClick="logVariable('configName')" href="_variables/configName.html">$configName</a> =&gt; <a class="var it20" onMouseOver="hilite(20)" onMouseOut="lolite()" onClick="logVariable('configValue')" href="_variables/configValue.html">$configValue</a>)
<a name="l317"><span class="linenum"> 317</span></a>          {
<a name="l318"><span class="linenum"> 318</span></a>              if(!isset(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>[<a class="var it19" onMouseOver="hilite(19)" onMouseOut="lolite()" onClick="logVariable('configName')" href="_variables/configName.html">$configName</a>])) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>[<a class="var it19" onMouseOver="hilite(19)" onMouseOut="lolite()" onClick="logVariable('configName')" href="_variables/configName.html">$configName</a>] = <a class="var it20" onMouseOver="hilite(20)" onMouseOut="lolite()" onClick="logVariable('configValue')" href="_variables/configValue.html">$configValue</a>;
<a name="l319"><span class="linenum"> 319</span></a>          }
<a name="l320"><span class="linenum"> 320</span></a>  
<a name="l321"><span class="linenum"> 321</span></a>  <span class="comment">        // Overwrite the SSL config when you use Shibboleth SP</span>
<a name="l322"><span class="linenum"> 322</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['shibSp']) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['ssl'] = TRUE;
<a name="l323"><span class="linenum"> 323</span></a>          
<a name="l324"><span class="linenum"> 324</span></a>      }
<a name="l325"><span class="linenum"> 325</span></a>      
<a name="l326"><span class="linenum"> 326</span></a>  
<a name="l327"><span class="linenum"> 327</span></a>      <span class="comment">/**</span>
<a name="l328"><span class="linenum"> 328</span></a>  <span class="comment">     * Is Error?</span>
<a name="l329"><span class="linenum"> 329</span></a>  <span class="comment">     *</span>
<a name="l330"><span class="linenum"> 330</span></a>  <span class="comment">     * @param void</span>
<a name="l331"><span class="linenum"> 331</span></a>  <span class="comment">     * @return (bool) 'TRUE' if error is occured and 'FALSE' otherwise.</span>
<a name="l332"><span class="linenum"> 332</span></a>  <span class="comment">     */</span>
<a name="l333"><span class="linenum"> 333</span></a>  	private function <a class="function" onClick="logFunction('_isError')" href="_functions/_iserror.html" onMouseOver="funcPopup(event,'_iserror')">_isError</a>()
<a name="l334"><span class="linenum"> 334</span></a>      {
<a name="l335"><span class="linenum"> 335</span></a>          if(!empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['downtimeStart']))
<a name="l336"><span class="linenum"> 336</span></a>          {
<a name="l337"><span class="linenum"> 337</span></a>              <a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> = <a class="phpfunction" onClick="logFunction('strtotime')" href="_functions/strtotime.html" onMouseOver="phpfuncPopup(event,'strtotime')">strtotime</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['downtimeStart']);
<a name="l338"><span class="linenum"> 338</span></a>              if(<a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> === FALSE OR <a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> === -1) <a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> = 0;
<a name="l339"><span class="linenum"> 339</span></a>          } else <a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> = 0;
<a name="l340"><span class="linenum"> 340</span></a>  
<a name="l341"><span class="linenum"> 341</span></a>          if(!empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['downtimeEnd']))
<a name="l342"><span class="linenum"> 342</span></a>          {
<a name="l343"><span class="linenum"> 343</span></a>              <a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a> = <a class="phpfunction" onClick="logFunction('strtotime')" href="_functions/strtotime.html" onMouseOver="phpfuncPopup(event,'strtotime')">strtotime</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['downtimeEnd']);
<a name="l344"><span class="linenum"> 344</span></a>              if(<a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a> === FALSE OR <a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a> === -1) <a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a> = 0;
<a name="l345"><span class="linenum"> 345</span></a>          } else <a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a> = 0;
<a name="l346"><span class="linenum"> 346</span></a>          
<a name="l347"><span class="linenum"> 347</span></a>          <a class="var it23" onMouseOver="hilite(23)" onMouseOut="lolite()" onClick="logVariable('downtime')" href="_variables/downtime.html">$downtime</a> = FALSE;
<a name="l348"><span class="linenum"> 348</span></a>          if(!<a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> AND !<a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a>) <a class="var it23" onMouseOver="hilite(23)" onMouseOut="lolite()" onClick="logVariable('downtime')" href="_variables/downtime.html">$downtime</a> = FALSE;
<a name="l349"><span class="linenum"> 349</span></a>          elseif(!<a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a>) if(<a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> &lt;= <a class="phpfunction" onClick="logFunction('time')" href="_functions/time.html" onMouseOver="phpfuncPopup(event,'time')">time</a>()) <a class="var it23" onMouseOver="hilite(23)" onMouseOut="lolite()" onClick="logVariable('downtime')" href="_variables/downtime.html">$downtime</a> = TRUE;
<a name="l350"><span class="linenum"> 350</span></a>          elseif(!<a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a>) if(<a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a> &gt;= <a class="phpfunction" onClick="logFunction('time')" href="_functions/time.html" onMouseOver="phpfuncPopup(event,'time')">time</a>()) <a class="var it23" onMouseOver="hilite(23)" onMouseOut="lolite()" onClick="logVariable('downtime')" href="_variables/downtime.html">$downtime</a> = TRUE;
<a name="l351"><span class="linenum"> 351</span></a>          elseif(<a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> AND <a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a>) if(<a class="var it21" onMouseOver="hilite(21)" onMouseOut="lolite()" onClick="logVariable('start')" href="_variables/start.html">$start</a> &lt;= now() AND <a class="var it22" onMouseOver="hilite(22)" onMouseOut="lolite()" onClick="logVariable('end')" href="_variables/end.html">$end</a> &gt;= now()) <a class="var it23" onMouseOver="hilite(23)" onMouseOut="lolite()" onClick="logVariable('downtime')" href="_variables/downtime.html">$downtime</a> = TRUE;
<a name="l352"><span class="linenum"> 352</span></a>  
<a name="l353"><span class="linenum"> 353</span></a>          <a class="var it24" onMouseOver="hilite(24)" onMouseOut="lolite()" onClick="logVariable('hook')" href="_variables/hook.html">$hook</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('hookIsError')" href="_functions/hookiserror.html" onMouseOver="funcPopup(event,'hookiserror')">hookIsError</a>();
<a name="l354"><span class="linenum"> 354</span></a>          if(isset(<a class="var it24" onMouseOver="hilite(24)" onMouseOut="lolite()" onClick="logVariable('hook')" href="_variables/hook.html">$hook</a>) AND <a class="phpfunction" onClick="logFunction('is_bool')" href="_functions/is_bool.html" onMouseOver="phpfuncPopup(event,'is_bool')">is_bool</a>(<a class="var it24" onMouseOver="hilite(24)" onMouseOut="lolite()" onClick="logVariable('hook')" href="_variables/hook.html">$hook</a>)) <a class="var it23" onMouseOver="hilite(23)" onMouseOut="lolite()" onClick="logVariable('downtime')" href="_variables/downtime.html">$downtime</a> = <a class="var it24" onMouseOver="hilite(24)" onMouseOut="lolite()" onClick="logVariable('hook')" href="_variables/hook.html">$hook</a>;
<a name="l355"><span class="linenum"> 355</span></a>          
<a name="l356"><span class="linenum"> 356</span></a>          return <a class="var it23" onMouseOver="hilite(23)" onMouseOut="lolite()" onClick="logVariable('downtime')" href="_variables/downtime.html">$downtime</a>;
<a name="l357"><span class="linenum"> 357</span></a>      }
<a name="l358"><span class="linenum"> 358</span></a>      
<a name="l359"><span class="linenum"> 359</span></a>      
<a name="l360"><span class="linenum"> 360</span></a>      <span class="comment">/**</span>
<a name="l361"><span class="linenum"> 361</span></a>  <span class="comment">     * Get the element of the '$_SERVER' array.</span>
<a name="l362"><span class="linenum"> 362</span></a>  <span class="comment">     *</span>
<a name="l363"><span class="linenum"> 363</span></a>  <span class="comment">     * @param (string) $element Element's name. For example: 'REMOTE_USER' -&gt; $_SERVER['REMOTE_USER']</span>
<a name="l364"><span class="linenum"> 364</span></a>  <span class="comment">     * @return (bool) FALSE if the element isn't setted, and the value of the element if is setted.</span>
<a name="l365"><span class="linenum"> 365</span></a>  <span class="comment">     */</span>
<a name="l366"><span class="linenum"> 366</span></a>  	private function <a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>(<a class="var it25" onMouseOver="hilite(25)" onMouseOut="lolite()" onClick="logVariable('element')" href="_variables/element.html">$element</a>)
<a name="l367"><span class="linenum"> 367</span></a>      {
<a name="l368"><span class="linenum"> 368</span></a>          if(@isset(<a class="var it26" onMouseOver="hilite(26)" onMouseOut="lolite()" onClick="logVariable('_SERVER')" href="_variables/_SERVER.html">$_SERVER</a>[<a class="var it25" onMouseOver="hilite(25)" onMouseOut="lolite()" onClick="logVariable('element')" href="_variables/element.html">$element</a>])) return <a class="var it26" onMouseOver="hilite(26)" onMouseOut="lolite()" onClick="logVariable('_SERVER')" href="_variables/_SERVER.html">$_SERVER</a>[<a class="var it25" onMouseOver="hilite(25)" onMouseOut="lolite()" onClick="logVariable('element')" href="_variables/element.html">$element</a>];
<a name="l369"><span class="linenum"> 369</span></a>          else return FALSE;
<a name="l370"><span class="linenum"> 370</span></a>      }
<a name="l371"><span class="linenum"> 371</span></a>      
<a name="l372"><span class="linenum"> 372</span></a>      <span class="comment">/**</span>
<a name="l373"><span class="linenum"> 373</span></a>  <span class="comment">     * Get the element of the '$_COOKIE' array.</span>
<a name="l374"><span class="linenum"> 374</span></a>  <span class="comment">     *</span>
<a name="l375"><span class="linenum"> 375</span></a>  <span class="comment">     * @param (string) $element Element's name. For example: 'sessionid' -&gt; $_COOKIE['sessionid']</span>
<a name="l376"><span class="linenum"> 376</span></a>  <span class="comment">     * @return (bool) FALSE if the element isn't setted, and the value of the element if is setted.</span>
<a name="l377"><span class="linenum"> 377</span></a>  <span class="comment">     */</span>
<a name="l378"><span class="linenum"> 378</span></a>  	private function <a class="function" onClick="logFunction('cookie')" href="_functions/cookie.html" onMouseOver="funcPopup(event,'cookie')">cookie</a>(<a class="var it25" onMouseOver="hilite(25)" onMouseOut="lolite()" onClick="logVariable('element')" href="_variables/element.html">$element</a>)
<a name="l379"><span class="linenum"> 379</span></a>      {
<a name="l380"><span class="linenum"> 380</span></a>          if(@isset(<a class="var it27" onMouseOver="hilite(27)" onMouseOut="lolite()" onClick="logVariable('_COOKIE')" href="_variables/_COOKIE.html">$_COOKIE</a>[<a class="var it25" onMouseOver="hilite(25)" onMouseOut="lolite()" onClick="logVariable('element')" href="_variables/element.html">$element</a>]) AND !empty(<a class="var it27" onMouseOver="hilite(27)" onMouseOut="lolite()" onClick="logVariable('_COOKIE')" href="_variables/_COOKIE.html">$_COOKIE</a>[<a class="var it25" onMouseOver="hilite(25)" onMouseOut="lolite()" onClick="logVariable('element')" href="_variables/element.html">$element</a>])) return <a class="var it27" onMouseOver="hilite(27)" onMouseOut="lolite()" onClick="logVariable('_COOKIE')" href="_variables/_COOKIE.html">$_COOKIE</a>[<a class="var it25" onMouseOver="hilite(25)" onMouseOut="lolite()" onClick="logVariable('element')" href="_variables/element.html">$element</a>];
<a name="l381"><span class="linenum"> 381</span></a>          else return FALSE;
<a name="l382"><span class="linenum"> 382</span></a>      }
<a name="l383"><span class="linenum"> 383</span></a>      
<a name="l384"><span class="linenum"> 384</span></a>      
<a name="l385"><span class="linenum"> 385</span></a>      <span class="comment">/**</span>
<a name="l386"><span class="linenum"> 386</span></a>  <span class="comment">     * Create URL from path.</span>
<a name="l387"><span class="linenum"> 387</span></a>  <span class="comment">     *</span>
<a name="l388"><span class="linenum"> 388</span></a>  <span class="comment">     * @param (string) $path The path of the page</span>
<a name="l389"><span class="linenum"> 389</span></a>  <span class="comment">     * @return (string) The complete URL</span>
<a name="l390"><span class="linenum"> 390</span></a>  <span class="comment">     */</span>
<a name="l391"><span class="linenum"> 391</span></a>  	private function <a class="function" onClick="logFunction('_path2url')" href="_functions/_path2url.html" onMouseOver="funcPopup(event,'_path2url')">_path2url</a>(<a class="var it28" onMouseOver="hilite(28)" onMouseOut="lolite()" onClick="logVariable('path')" href="_variables/path.html">$path</a> = '')
<a name="l392"><span class="linenum"> 392</span></a>      {
<a name="l393"><span class="linenum"> 393</span></a>          <a class="var it28" onMouseOver="hilite(28)" onMouseOut="lolite()" onClick="logVariable('path')" href="_variables/path.html">$path</a> = <a class="phpfunction" onClick="logFunction('urldecode')" href="_functions/urldecode.html" onMouseOver="phpfuncPopup(event,'urldecode')">urldecode</a>(<a class="var it28" onMouseOver="hilite(28)" onMouseOut="lolite()" onClick="logVariable('path')" href="_variables/path.html">$path</a>);
<a name="l394"><span class="linenum"> 394</span></a>          <a class="var it29" onMouseOver="hilite(29)" onMouseOut="lolite()" onClick="logVariable('http')" href="_variables/http.html">$http</a> = <a class="phpfunction" onClick="logFunction('substr')" href="_functions/substr.html" onMouseOver="phpfuncPopup(event,'substr')">substr</a>(<a class="var it28" onMouseOver="hilite(28)" onMouseOut="lolite()" onClick="logVariable('path')" href="_variables/path.html">$path</a>, 0, 7);
<a name="l395"><span class="linenum"> 395</span></a>          <a class="var it30" onMouseOver="hilite(30)" onMouseOut="lolite()" onClick="logVariable('https')" href="_variables/https.html">$https</a> = <a class="phpfunction" onClick="logFunction('substr')" href="_functions/substr.html" onMouseOver="phpfuncPopup(event,'substr')">substr</a>(<a class="var it28" onMouseOver="hilite(28)" onMouseOut="lolite()" onClick="logVariable('path')" href="_variables/path.html">$path</a>, 0, 8);
<a name="l396"><span class="linenum"> 396</span></a>          if(<a class="var it29" onMouseOver="hilite(29)" onMouseOut="lolite()" onClick="logVariable('http')" href="_variables/http.html">$http</a> == 'http://' OR <a class="var it30" onMouseOver="hilite(30)" onMouseOut="lolite()" onClick="logVariable('https')" href="_variables/https.html">$https</a> == 'https://' ) return <a class="var it28" onMouseOver="hilite(28)" onMouseOut="lolite()" onClick="logVariable('path')" href="_variables/path.html">$path</a>;
<a name="l397"><span class="linenum"> 397</span></a>          if(!<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['ssl'] AND !<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isHttps')" href="_functions/ishttps.html" onMouseOver="funcPopup(event,'ishttps')">isHttps</a>()) <a class="var it31" onMouseOver="hilite(31)" onMouseOut="lolite()" onClick="logVariable('protocol')" href="_variables/protocol.html">$protocol</a> = 'http://';
<a name="l398"><span class="linenum"> 398</span></a>          else <a class="var it31" onMouseOver="hilite(31)" onMouseOut="lolite()" onClick="logVariable('protocol')" href="_variables/protocol.html">$protocol</a> = 'https://';
<a name="l399"><span class="linenum"> 399</span></a>              
<a name="l400"><span class="linenum"> 400</span></a>          if(<a class="var it28" onMouseOver="hilite(28)" onMouseOut="lolite()" onClick="logVariable('path')" href="_variables/path.html">$path</a>[0] == '/') <a class="var it32" onMouseOver="hilite(32)" onMouseOut="lolite()" onClick="logVariable('slash')" href="_variables/slash.html">$slash</a> = '';
<a name="l401"><span class="linenum"> 401</span></a>          else <a class="var it32" onMouseOver="hilite(32)" onMouseOut="lolite()" onClick="logVariable('slash')" href="_variables/slash.html">$slash</a> = '/';
<a name="l402"><span class="linenum"> 402</span></a>          
<a name="l403"><span class="linenum"> 403</span></a>          return <a class="var it31" onMouseOver="hilite(31)" onMouseOut="lolite()" onClick="logVariable('protocol')" href="_variables/protocol.html">$protocol</a>.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_HOST').<a class="var it32" onMouseOver="hilite(32)" onMouseOut="lolite()" onClick="logVariable('slash')" href="_variables/slash.html">$slash</a>.<a class="var it28" onMouseOver="hilite(28)" onMouseOut="lolite()" onClick="logVariable('path')" href="_variables/path.html">$path</a>;
<a name="l404"><span class="linenum"> 404</span></a>      }
<a name="l405"><span class="linenum"> 405</span></a>      
<a name="l406"><span class="linenum"> 406</span></a>      
<a name="l407"><span class="linenum"> 407</span></a>      <span class="comment">/**</span>
<a name="l408"><span class="linenum"> 408</span></a>  <span class="comment">     * Redirect the browser.</span>
<a name="l409"><span class="linenum"> 409</span></a>  <span class="comment">     * If you set the second parameter this function save from redirect looping. After the 5. redirect stop it.</span>
<a name="l410"><span class="linenum"> 410</span></a>  <span class="comment">     * When you exit from the loop use this code:</span>
<a name="l411"><span class="linenum"> 411</span></a>  <span class="comment">     * $this-&gt;setSessionData('sso_loop_&lt;loop name&gt;', 0);</span>
<a name="l412"><span class="linenum"> 412</span></a>  <span class="comment">     *</span>
<a name="l413"><span class="linenum"> 413</span></a>  <span class="comment">     * @param (string) $url Where to redirect.</span>
<a name="l414"><span class="linenum"> 414</span></a>  <span class="comment">     * @param (string) $redirectLoop The unique name of the redirect loop. One name - one loop.</span>
<a name="l415"><span class="linenum"> 415</span></a>  <span class="comment">     * @return void</span>
<a name="l416"><span class="linenum"> 416</span></a>  <span class="comment">     */</span>
<a name="l417"><span class="linenum"> 417</span></a>  	private function <a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it33" onMouseOver="hilite(33)" onMouseOut="lolite()" onClick="logVariable('url')" href="_variables/url.html">$url</a>, <a class="var it34" onMouseOver="hilite(34)" onMouseOut="lolite()" onClick="logVariable('redirectLoop')" href="_variables/redirectLoop.html">$redirectLoop</a> = '')
<a name="l418"><span class="linenum"> 418</span></a>      {
<a name="l419"><span class="linenum"> 419</span></a>  <span class="comment">        // Error</span>
<a name="l420"><span class="linenum"> 420</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_isError')" href="_functions/_iserror.html" onMouseOver="funcPopup(event,'_iserror')">_isError</a>()) return;
<a name="l421"><span class="linenum"> 421</span></a>  
<a name="l422"><span class="linenum"> 422</span></a>  <span class="comment">        // Save from redirect loop</span>
<a name="l423"><span class="linenum"> 423</span></a>          if(!empty(<a class="var it34" onMouseOver="hilite(34)" onMouseOut="lolite()" onClick="logVariable('redirectLoop')" href="_variables/redirectLoop.html">$redirectLoop</a>))
<a name="l424"><span class="linenum"> 424</span></a>          {        
<a name="l425"><span class="linenum"> 425</span></a>              <a class="var it35" onMouseOver="hilite(35)" onMouseOut="lolite()" onClick="logVariable('loop')" href="_variables/loop.html">$loop</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>('sso_loop_'.<a class="var it34" onMouseOver="hilite(34)" onMouseOut="lolite()" onClick="logVariable('redirectLoop')" href="_variables/redirectLoop.html">$redirectLoop</a>);
<a name="l426"><span class="linenum"> 426</span></a>              <a class="var it35" onMouseOver="hilite(35)" onMouseOut="lolite()" onClick="logVariable('loop')" href="_variables/loop.html">$loop</a> = (int)<a class="var it35" onMouseOver="hilite(35)" onMouseOut="lolite()" onClick="logVariable('loop')" href="_variables/loop.html">$loop</a> + 1;
<a name="l427"><span class="linenum"> 427</span></a>              if(<a class="var it35" onMouseOver="hilite(35)" onMouseOut="lolite()" onClick="logVariable('loop')" href="_variables/loop.html">$loop</a> &gt;= 5)
<a name="l428"><span class="linenum"> 428</span></a>              {
<a name="l429"><span class="linenum"> 429</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_loop_'.<a class="var it34" onMouseOver="hilite(34)" onMouseOut="lolite()" onClick="logVariable('redirectLoop')" href="_variables/redirectLoop.html">$redirectLoop</a>, 0);
<a name="l430"><span class="linenum"> 430</span></a>                  return;
<a name="l431"><span class="linenum"> 431</span></a>              }
<a name="l432"><span class="linenum"> 432</span></a>              else <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_loop_'.<a class="var it34" onMouseOver="hilite(34)" onMouseOut="lolite()" onClick="logVariable('redirectLoop')" href="_variables/redirectLoop.html">$redirectLoop</a>, <a class="var it35" onMouseOver="hilite(35)" onMouseOut="lolite()" onClick="logVariable('loop')" href="_variables/loop.html">$loop</a>);
<a name="l433"><span class="linenum"> 433</span></a>          }
<a name="l434"><span class="linenum"> 434</span></a>          
<a name="l435"><span class="linenum"> 435</span></a>  <span class="comment">        // Redirect</span>
<a name="l436"><span class="linenum"> 436</span></a>          <a class="phpfunction" onClick="logFunction('header')" href="_functions/header.html" onMouseOver="phpfuncPopup(event,'header')">header</a>('Location: '.<a class="var it33" onMouseOver="hilite(33)" onMouseOut="lolite()" onClick="logVariable('url')" href="_variables/url.html">$url</a>);
<a name="l437"><span class="linenum"> 437</span></a>          exit(0);
<a name="l438"><span class="linenum"> 438</span></a>      }
<a name="l439"><span class="linenum"> 439</span></a>      
<a name="l440"><span class="linenum"> 440</span></a>      
<a name="l441"><span class="linenum"> 441</span></a>      <span class="comment">/**</span>
<a name="l442"><span class="linenum"> 442</span></a>  <span class="comment">     * Get HTTPS connection, not HTTP.</span>
<a name="l443"><span class="linenum"> 443</span></a>  <span class="comment">     * If the user request this 'page' without SSL (HTTP) this function redirect to the secured version of the 'page'</span>
<a name="l444"><span class="linenum"> 444</span></a>  <span class="comment">     * (HTTPS). For example: http://example.org/dir/file.php?var=1 redirect to https://example.org/dir/file.php?var=1</span>
<a name="l445"><span class="linenum"> 445</span></a>  <span class="comment">     *</span>
<a name="l446"><span class="linenum"> 446</span></a>  <span class="comment">     * @param void</span>
<a name="l447"><span class="linenum"> 447</span></a>  <span class="comment">     * @return void</span>
<a name="l448"><span class="linenum"> 448</span></a>  <span class="comment">     */</span>
<a name="l449"><span class="linenum"> 449</span></a>  	public function <a class="function" onClick="logFunction('https')" href="_functions/https.html" onMouseOver="funcPopup(event,'https')">https</a>()
<a name="l450"><span class="linenum"> 450</span></a>      {
<a name="l451"><span class="linenum"> 451</span></a>          if(!<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isHttps')" href="_functions/ishttps.html" onMouseOver="funcPopup(event,'ishttps')">isHttps</a>())
<a name="l452"><span class="linenum"> 452</span></a>          {
<a name="l453"><span class="linenum"> 453</span></a>              <a class="phpfunction" onClick="logFunction('header')" href="_functions/header.html" onMouseOver="phpfuncPopup(event,'header')">header</a>('Location: https://'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_HOST').<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('REQUEST_URI'));
<a name="l454"><span class="linenum"> 454</span></a>              exit(0);
<a name="l455"><span class="linenum"> 455</span></a>          }
<a name="l456"><span class="linenum"> 456</span></a>      }
<a name="l457"><span class="linenum"> 457</span></a>      
<a name="l458"><span class="linenum"> 458</span></a>      
<a name="l459"><span class="linenum"> 459</span></a>      <span class="comment">/**</span>
<a name="l460"><span class="linenum"> 460</span></a>  <span class="comment">     * Get HTTP connection, not HTTPS.</span>
<a name="l461"><span class="linenum"> 461</span></a>  <span class="comment">     * If the user request this 'page' with SSL (HTTPS) this function redirect to the non secured version of the 'page'</span>
<a name="l462"><span class="linenum"> 462</span></a>  <span class="comment">     * (HTTP). For example: https://example.org/dir/file.php?var=1 redirect to http://example.org/dir/file.php?var=1</span>
<a name="l463"><span class="linenum"> 463</span></a>  <span class="comment">     *</span>
<a name="l464"><span class="linenum"> 464</span></a>  <span class="comment">     * @param void</span>
<a name="l465"><span class="linenum"> 465</span></a>  <span class="comment">     * @return void</span>
<a name="l466"><span class="linenum"> 466</span></a>  <span class="comment">     */</span>
<a name="l467"><span class="linenum"> 467</span></a>  	public function <a class="function" onClick="logFunction('http')" href="_functions/http.html" onMouseOver="funcPopup(event,'http')">http</a>()
<a name="l468"><span class="linenum"> 468</span></a>      {
<a name="l469"><span class="linenum"> 469</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isHttps')" href="_functions/ishttps.html" onMouseOver="funcPopup(event,'ishttps')">isHttps</a>())
<a name="l470"><span class="linenum"> 470</span></a>          {
<a name="l471"><span class="linenum"> 471</span></a>              <a class="phpfunction" onClick="logFunction('header')" href="_functions/header.html" onMouseOver="phpfuncPopup(event,'header')">header</a>('Location: http://'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_HOST').<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('REQUEST_URI'));
<a name="l472"><span class="linenum"> 472</span></a>              exit(0);
<a name="l473"><span class="linenum"> 473</span></a>          }
<a name="l474"><span class="linenum"> 474</span></a>      }
<a name="l475"><span class="linenum"> 475</span></a>      
<a name="l476"><span class="linenum"> 476</span></a>      
<a name="l477"><span class="linenum"> 477</span></a>      <span class="comment">/**</span>
<a name="l478"><span class="linenum"> 478</span></a>  <span class="comment">     * Is secured, HTTPS connection?.</span>
<a name="l479"><span class="linenum"> 479</span></a>  <span class="comment">     * If the user request this 'page' without SSL (HTTP) this function redirect to the secured version of the 'page'</span>
<a name="l480"><span class="linenum"> 480</span></a>  <span class="comment">     * (HTTPS). For example: http://example.org/dir/file.php?var=1 redirect to https://example.org/dir/file.php?var=1</span>
<a name="l481"><span class="linenum"> 481</span></a>  <span class="comment">     *</span>
<a name="l482"><span class="linenum"> 482</span></a>  <span class="comment">     * @param void</span>
<a name="l483"><span class="linenum"> 483</span></a>  <span class="comment">     * @return (bool) TRUE if is a HTTPS connection and FALSE is a HTTP connection.</span>
<a name="l484"><span class="linenum"> 484</span></a>  <span class="comment">     */</span>
<a name="l485"><span class="linenum"> 485</span></a>  	public function <a class="function" onClick="logFunction('isHttps')" href="_functions/ishttps.html" onMouseOver="funcPopup(event,'ishttps')">isHttps</a>()
<a name="l486"><span class="linenum"> 486</span></a>      {
<a name="l487"><span class="linenum"> 487</span></a>          <a class="var it36" onMouseOver="hilite(36)" onMouseOut="lolite()" onClick="logVariable('lower')" href="_variables/lower.html">$lower</a> = <a class="phpfunction" onClick="logFunction('strtolower')" href="_functions/strtolower.html" onMouseOver="phpfuncPopup(event,'strtolower')">strtolower</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTPS'));
<a name="l488"><span class="linenum"> 488</span></a>          <a class="var it30" onMouseOver="hilite(30)" onMouseOut="lolite()" onClick="logVariable('https')" href="_variables/https.html">$https</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTPS');
<a name="l489"><span class="linenum"> 489</span></a>          if(isset(<a class="var it30" onMouseOver="hilite(30)" onMouseOut="lolite()" onClick="logVariable('https')" href="_variables/https.html">$https</a>) AND <a class="var it36" onMouseOver="hilite(36)" onMouseOut="lolite()" onClick="logVariable('lower')" href="_variables/lower.html">$lower</a> === 'on') return TRUE;
<a name="l490"><span class="linenum"> 490</span></a>          else return FALSE;
<a name="l491"><span class="linenum"> 491</span></a>      }
<a name="l492"><span class="linenum"> 492</span></a>      
<a name="l493"><span class="linenum"> 493</span></a>      
<a name="l494"><span class="linenum"> 494</span></a>      <span class="comment">/**</span>
<a name="l495"><span class="linenum"> 495</span></a>  <span class="comment">     * Set groups</span>
<a name="l496"><span class="linenum"> 496</span></a>  <span class="comment">     *</span>
<a name="l497"><span class="linenum"> 497</span></a>  <span class="comment">     * @param void</span>
<a name="l498"><span class="linenum"> 498</span></a>  <span class="comment">     * @return (array) Syntax:</span>
<a name="l499"><span class="linenum"> 499</span></a>  <span class="comment">     *         array( '&lt;group id&gt;' =&gt; array( 'positions' =&gt; array('&lt;position&gt;', ...), 'name' =&gt; '&lt;group name&gt;' ) )</span>
<a name="l500"><span class="linenum"> 500</span></a>  <span class="comment">     */</span>
<a name="l501"><span class="linenum"> 501</span></a>  	private function <a class="function" onClick="logFunction('_setGroups')" href="_functions/_setgroups.html" onMouseOver="funcPopup(event,'_setgroups')">_setGroups</a>()
<a name="l502"><span class="linenum"> 502</span></a>      {
<a name="l503"><span class="linenum"> 503</span></a>          <a class="var it37" onMouseOver="hilite(37)" onMouseOut="lolite()" onClick="logVariable('g')" href="_variables/g.html">$g</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['userGroups']);
<a name="l504"><span class="linenum"> 504</span></a>          <a class="var it38" onMouseOver="hilite(38)" onMouseOut="lolite()" onClick="logVariable('groups')" href="_variables/groups.html">$groups</a> = array();
<a name="l505"><span class="linenum"> 505</span></a>          if(<a class="var it37" onMouseOver="hilite(37)" onMouseOut="lolite()" onClick="logVariable('g')" href="_variables/g.html">$g</a>)
<a name="l506"><span class="linenum"> 506</span></a>          {
<a name="l507"><span class="linenum"> 507</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['shibSp']) <a class="var it39" onMouseOver="hilite(39)" onMouseOut="lolite()" onClick="logVariable('exploder')" href="_variables/exploder.html">$exploder</a> = ';';
<a name="l508"><span class="linenum"> 508</span></a>                  else <a class="var it39" onMouseOver="hilite(39)" onMouseOut="lolite()" onClick="logVariable('exploder')" href="_variables/exploder.html">$exploder</a> = '|';
<a name="l509"><span class="linenum"> 509</span></a>              <a class="var it37" onMouseOver="hilite(37)" onMouseOut="lolite()" onClick="logVariable('g')" href="_variables/g.html">$g</a> = <a class="phpfunction" onClick="logFunction('explode')" href="_functions/explode.html" onMouseOver="phpfuncPopup(event,'explode')">explode</a>(<a class="var it39" onMouseOver="hilite(39)" onMouseOut="lolite()" onClick="logVariable('exploder')" href="_variables/exploder.html">$exploder</a>, <a class="var it37" onMouseOver="hilite(37)" onMouseOut="lolite()" onClick="logVariable('g')" href="_variables/g.html">$g</a>);
<a name="l510"><span class="linenum"> 510</span></a>              for(<a class="var it40" onMouseOver="hilite(40)" onMouseOut="lolite()" onClick="logVariable('i')" href="_variables/i.html">$i</a>=0; <a class="var it40" onMouseOver="hilite(40)" onMouseOut="lolite()" onClick="logVariable('i')" href="_variables/i.html">$i</a>&lt;<a class="phpfunction" onClick="logFunction('count')" href="_functions/count.html" onMouseOver="phpfuncPopup(event,'count')">count</a>(<a class="var it37" onMouseOver="hilite(37)" onMouseOut="lolite()" onClick="logVariable('g')" href="_variables/g.html">$g</a>); <a class="var it40" onMouseOver="hilite(40)" onMouseOut="lolite()" onClick="logVariable('i')" href="_variables/i.html">$i</a>++)
<a name="l511"><span class="linenum"> 511</span></a>              {
<a name="l512"><span class="linenum"> 512</span></a>                  <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a> = <a class="phpfunction" onClick="logFunction('explode')" href="_functions/explode.html" onMouseOver="phpfuncPopup(event,'explode')">explode</a>(':', <a class="var it37" onMouseOver="hilite(37)" onMouseOut="lolite()" onClick="logVariable('g')" href="_variables/g.html">$g</a>[<a class="var it40" onMouseOver="hilite(40)" onMouseOut="lolite()" onClick="logVariable('i')" href="_variables/i.html">$i</a>]);
<a name="l513"><span class="linenum"> 513</span></a>                  <a class="var it2" onMouseOver="hilite(2)" onMouseOut="lolite()" onClick="logVariable('name')" href="_variables/name.html">$name</a> = <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>[6];
<a name="l514"><span class="linenum"> 514</span></a>                  <a class="var it41" onMouseOver="hilite(41)" onMouseOut="lolite()" onClick="logVariable('id')" href="_variables/id.html">$id</a> = <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>[7];
<a name="l515"><span class="linenum"> 515</span></a>                  <a class="var it42" onMouseOver="hilite(42)" onMouseOut="lolite()" onClick="logVariable('position')" href="_variables/position.html">$position</a> = <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>[5];
<a name="l516"><span class="linenum"> 516</span></a>                  if(isset(<a class="var it38" onMouseOver="hilite(38)" onMouseOut="lolite()" onClick="logVariable('groups')" href="_variables/groups.html">$groups</a>[<a class="var it41" onMouseOver="hilite(41)" onMouseOut="lolite()" onClick="logVariable('id')" href="_variables/id.html">$id</a>]) AND !empty(<a class="var it38" onMouseOver="hilite(38)" onMouseOut="lolite()" onClick="logVariable('groups')" href="_variables/groups.html">$groups</a>[<a class="var it41" onMouseOver="hilite(41)" onMouseOut="lolite()" onClick="logVariable('id')" href="_variables/id.html">$id</a>]['positions'])) (array)<a class="var it43" onMouseOver="hilite(43)" onMouseOut="lolite()" onClick="logVariable('group')" href="_variables/group.html">$group</a>['positions'] = <a class="var it38" onMouseOver="hilite(38)" onMouseOut="lolite()" onClick="logVariable('groups')" href="_variables/groups.html">$groups</a>[<a class="var it41" onMouseOver="hilite(41)" onMouseOut="lolite()" onClick="logVariable('id')" href="_variables/id.html">$id</a>]['positions'];
<a name="l517"><span class="linenum"> 517</span></a>                  (array)<a class="var it43" onMouseOver="hilite(43)" onMouseOut="lolite()" onClick="logVariable('group')" href="_variables/group.html">$group</a>['positions'][] = <a class="var it42" onMouseOver="hilite(42)" onMouseOut="lolite()" onClick="logVariable('position')" href="_variables/position.html">$position</a>;
<a name="l518"><span class="linenum"> 518</span></a>                  <a class="var it43" onMouseOver="hilite(43)" onMouseOut="lolite()" onClick="logVariable('group')" href="_variables/group.html">$group</a>['name'] = <a class="var it2" onMouseOver="hilite(2)" onMouseOut="lolite()" onClick="logVariable('name')" href="_variables/name.html">$name</a>;
<a name="l519"><span class="linenum"> 519</span></a>                  <a class="var it38" onMouseOver="hilite(38)" onMouseOut="lolite()" onClick="logVariable('groups')" href="_variables/groups.html">$groups</a>[<a class="var it41" onMouseOver="hilite(41)" onMouseOut="lolite()" onClick="logVariable('id')" href="_variables/id.html">$id</a>] = <a class="var it43" onMouseOver="hilite(43)" onMouseOut="lolite()" onClick="logVariable('group')" href="_variables/group.html">$group</a>;
<a name="l520"><span class="linenum"> 520</span></a>                  unset(<a class="var it43" onMouseOver="hilite(43)" onMouseOut="lolite()" onClick="logVariable('group')" href="_variables/group.html">$group</a>);
<a name="l521"><span class="linenum"> 521</span></a>              }
<a name="l522"><span class="linenum"> 522</span></a>          }
<a name="l523"><span class="linenum"> 523</span></a>          return <a class="var it38" onMouseOver="hilite(38)" onMouseOut="lolite()" onClick="logVariable('groups')" href="_variables/groups.html">$groups</a>;
<a name="l524"><span class="linenum"> 524</span></a>      }
<a name="l525"><span class="linenum"> 525</span></a>      
<a name="l526"><span class="linenum"> 526</span></a>      
<a name="l527"><span class="linenum"> 527</span></a>      <span class="comment">/**</span>
<a name="l528"><span class="linenum"> 528</span></a>  <span class="comment">     * Set VirID</span>
<a name="l529"><span class="linenum"> 529</span></a>  <span class="comment">     *</span>
<a name="l530"><span class="linenum"> 530</span></a>  <span class="comment">     * @param void</span>
<a name="l531"><span class="linenum"> 531</span></a>  <span class="comment">     * @return (string) VIRID</span>
<a name="l532"><span class="linenum"> 532</span></a>  <span class="comment">     */</span>
<a name="l533"><span class="linenum"> 533</span></a>  	private function <a class="function" onClick="logFunction('_setVirid')" href="_functions/_setvirid.html" onMouseOver="funcPopup(event,'_setvirid')">_setVirid</a>()
<a name="l534"><span class="linenum"> 534</span></a>      {
<a name="l535"><span class="linenum"> 535</span></a>          <a class="var it44" onMouseOver="hilite(44)" onMouseOut="lolite()" onClick="logVariable('virid')" href="_variables/virid.html">$virid</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['userVirid']);
<a name="l536"><span class="linenum"> 536</span></a>          <a class="var it45" onMouseOver="hilite(45)" onMouseOut="lolite()" onClick="logVariable('place')" href="_variables/place.html">$place</a> = <a class="phpfunction" onClick="logFunction('strrpos')" href="_functions/strrpos.html" onMouseOver="phpfuncPopup(event,'strrpos')">strrpos</a>(<a class="var it44" onMouseOver="hilite(44)" onMouseOut="lolite()" onClick="logVariable('virid')" href="_variables/virid.html">$virid</a>, ':');
<a name="l537"><span class="linenum"> 537</span></a>          return <a class="phpfunction" onClick="logFunction('substr')" href="_functions/substr.html" onMouseOver="phpfuncPopup(event,'substr')">substr</a>(<a class="var it44" onMouseOver="hilite(44)" onMouseOut="lolite()" onClick="logVariable('virid')" href="_variables/virid.html">$virid</a>, <a class="var it45" onMouseOver="hilite(45)" onMouseOut="lolite()" onClick="logVariable('place')" href="_variables/place.html">$place</a>+1);
<a name="l538"><span class="linenum"> 538</span></a>      }
<a name="l539"><span class="linenum"> 539</span></a>      
<a name="l540"><span class="linenum"> 540</span></a>      
<a name="l541"><span class="linenum"> 541</span></a>      
<a name="l542"><span class="linenum"> 542</span></a>      <span class="comment">/*</span>
<a name="l543"><span class="linenum"> 543</span></a>  <span class="comment">     * Login - Logout</span>
<a name="l544"><span class="linenum"> 544</span></a>  <span class="comment">    */</span>    
<a name="l545"><span class="linenum"> 545</span></a>      
<a name="l546"><span class="linenum"> 546</span></a>      <span class="comment">/**</span>
<a name="l547"><span class="linenum"> 547</span></a>  <span class="comment">     * Login the user to the application.</span>
<a name="l548"><span class="linenum"> 548</span></a>  <span class="comment">     * Check required user data, create session, update user's SSO data or create user.</span>
<a name="l549"><span class="linenum"> 549</span></a>  <span class="comment">     * </span>
<a name="l550"><span class="linenum"> 550</span></a>  <span class="comment">     * @param void</span>
<a name="l551"><span class="linenum"> 551</span></a>  <span class="comment">     * @return void</span>
<a name="l552"><span class="linenum"> 552</span></a>  <span class="comment">     */</span>
<a name="l553"><span class="linenum"> 553</span></a>  	private function <a class="function" onClick="logFunction('_login')" href="_functions/_login.html" onMouseOver="funcPopup(event,'_login')">_login</a>()
<a name="l554"><span class="linenum"> 554</span></a>      {
<a name="l555"><span class="linenum"> 555</span></a>  <span class="comment">        // Check required user data. If one of these data is empty: return null.</span>
<a name="l556"><span class="linenum"> 556</span></a>          if(<a class="phpfunction" onClick="logFunction('is_array')" href="_functions/is_array.html" onMouseOver="phpfuncPopup(event,'is_array')">is_array</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['userRequire']))
<a name="l557"><span class="linenum"> 557</span></a>          {
<a name="l558"><span class="linenum"> 558</span></a>              for(<a class="var it40" onMouseOver="hilite(40)" onMouseOut="lolite()" onClick="logVariable('i')" href="_variables/i.html">$i</a>=0; <a class="var it40" onMouseOver="hilite(40)" onMouseOut="lolite()" onClick="logVariable('i')" href="_variables/i.html">$i</a> &lt; <a class="phpfunction" onClick="logFunction('count')" href="_functions/count.html" onMouseOver="phpfuncPopup(event,'count')">count</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['userRequire']); <a class="var it40" onMouseOver="hilite(40)" onMouseOut="lolite()" onClick="logVariable('i')" href="_variables/i.html">$i</a>++)
<a name="l559"><span class="linenum"> 559</span></a>              {
<a name="l560"><span class="linenum"> 560</span></a>                  <a class="var it46" onMouseOver="hilite(46)" onMouseOut="lolite()" onClick="logVariable('req')" href="_variables/req.html">$req</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['userRequire'][<a class="var it40" onMouseOver="hilite(40)" onMouseOut="lolite()" onClick="logVariable('i')" href="_variables/i.html">$i</a>];
<a name="l561"><span class="linenum"> 561</span></a>                  if(isset(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['user'][<a class="var it46" onMouseOver="hilite(46)" onMouseOut="lolite()" onClick="logVariable('req')" href="_variables/req.html">$req</a>]))
<a name="l562"><span class="linenum"> 562</span></a>                  {
<a name="l563"><span class="linenum"> 563</span></a>                      <a class="var it47" onMouseOver="hilite(47)" onMouseOut="lolite()" onClick="logVariable('userData')" href="_variables/userData.html">$userData</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['user'][<a class="var it46" onMouseOver="hilite(46)" onMouseOut="lolite()" onClick="logVariable('req')" href="_variables/req.html">$req</a>];
<a name="l564"><span class="linenum"> 564</span></a>                      if(isset(<a class="var it47" onMouseOver="hilite(47)" onMouseOut="lolite()" onClick="logVariable('userData')" href="_variables/userData.html">$userData</a>) AND !<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>(<a class="var it47" onMouseOver="hilite(47)" onMouseOut="lolite()" onClick="logVariable('userData')" href="_variables/userData.html">$userData</a>)) return;
<a name="l565"><span class="linenum"> 565</span></a>                  }
<a name="l566"><span class="linenum"> 566</span></a>              }
<a name="l567"><span class="linenum"> 567</span></a>          }
<a name="l568"><span class="linenum"> 568</span></a>  
<a name="l569"><span class="linenum"> 569</span></a>  <span class="comment">        // If user not exists: create new user</span>
<a name="l570"><span class="linenum"> 570</span></a>          <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('selectUser')" href="_functions/selectuser.html" onMouseOver="funcPopup(event,'selectuser')">selectUser</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>);
<a name="l571"><span class="linenum"> 571</span></a>          if(empty(<a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>))
<a name="l572"><span class="linenum"> 572</span></a>          {
<a name="l573"><span class="linenum"> 573</span></a>              <a class="var it48" onMouseOver="hilite(48)" onMouseOut="lolite()" onClick="logVariable('insertData')" href="_variables/insertData.html">$insertData</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('ssoUser')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/ssoUser.html">ssoUser</a>;
<a name="l574"><span class="linenum"> 574</span></a>              <a class="var it48" onMouseOver="hilite(48)" onMouseOut="lolite()" onClick="logVariable('insertData')" href="_variables/insertData.html">$insertData</a>['user_name'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>;
<a name="l575"><span class="linenum"> 575</span></a>              <a class="var it48" onMouseOver="hilite(48)" onMouseOut="lolite()" onClick="logVariable('insertData')" href="_variables/insertData.html">$insertData</a>['user_groups'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userGroups')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userGroups.html">userGroups</a>;
<a name="l576"><span class="linenum"> 576</span></a>              <a class="var it48" onMouseOver="hilite(48)" onMouseOut="lolite()" onClick="logVariable('insertData')" href="_variables/insertData.html">$insertData</a>['user_virid'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userVirid')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userVirid.html">userVirid</a>;
<a name="l577"><span class="linenum"> 577</span></a>              <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('insertUser')" href="_functions/insertuser.html" onMouseOver="funcPopup(event,'insertuser')">insertUser</a>(<a class="var it48" onMouseOver="hilite(48)" onMouseOut="lolite()" onClick="logVariable('insertData')" href="_variables/insertData.html">$insertData</a>);
<a name="l578"><span class="linenum"> 578</span></a>              <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('user')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/user.html">user</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('selectUser')" href="_functions/selectuser.html" onMouseOver="funcPopup(event,'selectuser')">selectUser</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>);
<a name="l579"><span class="linenum"> 579</span></a>          }
<a name="l580"><span class="linenum"> 580</span></a>          else
<a name="l581"><span class="linenum"> 581</span></a>          {
<a name="l582"><span class="linenum"> 582</span></a>  <span class="comment">            // Check for updated SSO data and update it</span>
<a name="l583"><span class="linenum"> 583</span></a>              <a class="var it49" onMouseOver="hilite(49)" onMouseOut="lolite()" onClick="logVariable('newData')" href="_variables/newData.html">$newData</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('ssoUser')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/ssoUser.html">ssoUser</a>;
<a name="l584"><span class="linenum"> 584</span></a>              <a class="var it49" onMouseOver="hilite(49)" onMouseOut="lolite()" onClick="logVariable('newData')" href="_variables/newData.html">$newData</a>['user_name'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>;
<a name="l585"><span class="linenum"> 585</span></a>              <a class="var it49" onMouseOver="hilite(49)" onMouseOut="lolite()" onClick="logVariable('newData')" href="_variables/newData.html">$newData</a>['user_groups'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userGroups')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userGroups.html">userGroups</a>;
<a name="l586"><span class="linenum"> 586</span></a>              <a class="var it49" onMouseOver="hilite(49)" onMouseOut="lolite()" onClick="logVariable('newData')" href="_variables/newData.html">$newData</a>['user_virid'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userVirid')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userVirid.html">userVirid</a>;
<a name="l587"><span class="linenum"> 587</span></a>              <a class="var it50" onMouseOver="hilite(50)" onMouseOut="lolite()" onClick="logVariable('updateData')" href="_variables/updateData.html">$updateData</a> = array();
<a name="l588"><span class="linenum"> 588</span></a>              foreach(<a class="var it49" onMouseOver="hilite(49)" onMouseOut="lolite()" onClick="logVariable('newData')" href="_variables/newData.html">$newData</a> AS <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a> =&gt; <a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>)
<a name="l589"><span class="linenum"> 589</span></a>              {
<a name="l590"><span class="linenum"> 590</span></a>                  if(isset(<a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>[<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>]) AND <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>[<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>] != <a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>) <a class="var it50" onMouseOver="hilite(50)" onMouseOut="lolite()" onClick="logVariable('updateData')" href="_variables/updateData.html">$updateData</a>[<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>] = <a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>;
<a name="l591"><span class="linenum"> 591</span></a>              }
<a name="l592"><span class="linenum"> 592</span></a>              if(!empty(<a class="var it50" onMouseOver="hilite(50)" onMouseOut="lolite()" onClick="logVariable('updateData')" href="_variables/updateData.html">$updateData</a>)) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('updateUser')" href="_functions/updateuser.html" onMouseOver="funcPopup(event,'updateuser')">updateUser</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>, <a class="var it50" onMouseOver="hilite(50)" onMouseOut="lolite()" onClick="logVariable('updateData')" href="_variables/updateData.html">$updateData</a>);
<a name="l593"><span class="linenum"> 593</span></a>          }
<a name="l594"><span class="linenum"> 594</span></a>  
<a name="l595"><span class="linenum"> 595</span></a>  <span class="comment">        // Login</span>
<a name="l596"><span class="linenum"> 596</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login', TRUE);
<a name="l597"><span class="linenum"> 597</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_user', <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>);
<a name="l598"><span class="linenum"> 598</span></a>          
<a name="l599"><span class="linenum"> 599</span></a>  <span class="comment">        // Login Hook</span>
<a name="l600"><span class="linenum"> 600</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('hookLogin')" href="_functions/hooklogin.html" onMouseOver="funcPopup(event,'hooklogin')">hookLogin</a>();
<a name="l601"><span class="linenum"> 601</span></a>      }
<a name="l602"><span class="linenum"> 602</span></a>  
<a name="l603"><span class="linenum"> 603</span></a>  
<a name="l604"><span class="linenum"> 604</span></a>      <span class="comment">/**</span>
<a name="l605"><span class="linenum"> 605</span></a>  <span class="comment">     * Logout the user from the application.</span>
<a name="l606"><span class="linenum"> 606</span></a>  <span class="comment">     * &quot;Destroy&quot; session. Delete user name.</span>
<a name="l607"><span class="linenum"> 607</span></a>  <span class="comment">     *</span>
<a name="l608"><span class="linenum"> 608</span></a>  <span class="comment">     * @param void</span>
<a name="l609"><span class="linenum"> 609</span></a>  <span class="comment">     * @return void</span>
<a name="l610"><span class="linenum"> 610</span></a>  <span class="comment">     */</span>
<a name="l611"><span class="linenum"> 611</span></a>  	private function <a class="function" onClick="logFunction('_logout')" href="_functions/_logout.html" onMouseOver="funcPopup(event,'_logout')">_logout</a>()
<a name="l612"><span class="linenum"> 612</span></a>      {
<a name="l613"><span class="linenum"> 613</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login', FALSE);
<a name="l614"><span class="linenum"> 614</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_user', FALSE);
<a name="l615"><span class="linenum"> 615</span></a>          
<a name="l616"><span class="linenum"> 616</span></a>  <span class="comment">        // Logout Hook</span>
<a name="l617"><span class="linenum"> 617</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('hookLogout')" href="_functions/hooklogout.html" onMouseOver="funcPopup(event,'hooklogout')">hookLogout</a>();
<a name="l618"><span class="linenum"> 618</span></a>      }
<a name="l619"><span class="linenum"> 619</span></a>  
<a name="l620"><span class="linenum"> 620</span></a>      
<a name="l621"><span class="linenum"> 621</span></a>      <span class="comment">/**</span>
<a name="l622"><span class="linenum"> 622</span></a>  <span class="comment">     * Login the SSO user.</span>
<a name="l623"><span class="linenum"> 623</span></a>  <span class="comment">     * Use these function in your login page.</span>
<a name="l624"><span class="linenum"> 624</span></a>  <span class="comment">     *</span>
<a name="l625"><span class="linenum"> 625</span></a>  <span class="comment">     * WARNING: This function is can't garantee that the user logged in!</span>
<a name="l626"><span class="linenum"> 626</span></a>  <span class="comment">     * You can always use the 'isLogin();' function after this function to check that the user really logged in.</span>
<a name="l627"><span class="linenum"> 627</span></a>  <span class="comment">     *</span>
<a name="l628"><span class="linenum"> 628</span></a>  <span class="comment">     * @param void</span>
<a name="l629"><span class="linenum"> 629</span></a>  <span class="comment">     * @return void</span>
<a name="l630"><span class="linenum"> 630</span></a>  <span class="comment">     */</span>
<a name="l631"><span class="linenum"> 631</span></a>  	public function <a class="function" onClick="logFunction('logIn')" href="_functions/login.html" onMouseOver="funcPopup(event,'login')">logIn</a>()
<a name="l632"><span class="linenum"> 632</span></a>      {
<a name="l633"><span class="linenum"> 633</span></a>  <span class="comment">        // Error</span>
<a name="l634"><span class="linenum"> 634</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_isError')" href="_functions/_iserror.html" onMouseOver="funcPopup(event,'_iserror')">_isError</a>()) return;
<a name="l635"><span class="linenum"> 635</span></a>          
<a name="l636"><span class="linenum"> 636</span></a>  <span class="comment">        // switch HTTP/HTTPS protocol</span>
<a name="l637"><span class="linenum"> 637</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['ssl']) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('https')" href="_functions/https.html" onMouseOver="funcPopup(event,'https')">https</a>();
<a name="l638"><span class="linenum"> 638</span></a>  
<a name="l639"><span class="linenum"> 639</span></a>  <span class="comment">        // This variable set that the user is really login or not</span>
<a name="l640"><span class="linenum"> 640</span></a>          <a class="var it51" onMouseOver="hilite(51)" onMouseOut="lolite()" onClick="logVariable('login')" href="_variables/login.html">$login</a> = TRUE;
<a name="l641"><span class="linenum"> 641</span></a>  
<a name="l642"><span class="linenum"> 642</span></a>  <span class="comment">        // Check login status and if not logged in: redirect</span>
<a name="l643"><span class="linenum"> 643</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_isRealLogin')" href="_functions/_isreallogin.html" onMouseOver="funcPopup(event,'_isreallogin')">_isRealLogin</a>() === FALSE)
<a name="l644"><span class="linenum"> 644</span></a>          {
<a name="l645"><span class="linenum"> 645</span></a>              <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_page', <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_getReturnParam')" href="_functions/_getreturnparam.html" onMouseOver="funcPopup(event,'_getreturnparam')">_getReturnParam</a>());
<a name="l646"><span class="linenum"> 646</span></a>              <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login_state', TRUE);
<a name="l647"><span class="linenum"> 647</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['shibSp'])
<a name="l648"><span class="linenum"> 648</span></a>              {
<a name="l649"><span class="linenum"> 649</span></a>                  <a class="var it52" onMouseOver="hilite(52)" onMouseOut="lolite()" onClick="logVariable('loginUrl')" href="_variables/loginUrl.html">$loginUrl</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_path2url')" href="_functions/_path2url.html" onMouseOver="funcPopup(event,'_path2url')">_path2url</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['spLoginUrl']).'?'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['spLoginUrlParam'].'=https://'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_HOST').<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('REQUEST_URI');
<a name="l650"><span class="linenum"> 650</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it52" onMouseOver="hilite(52)" onMouseOut="lolite()" onClick="logVariable('loginUrl')" href="_variables/loginUrl.html">$loginUrl</a>, 'login');
<a name="l651"><span class="linenum"> 651</span></a>  <span class="comment">                // If redirect loop...</span>
<a name="l652"><span class="linenum"> 652</span></a>                  <a class="var it51" onMouseOver="hilite(51)" onMouseOut="lolite()" onClick="logVariable('login')" href="_variables/login.html">$login</a> = FALSE;
<a name="l653"><span class="linenum"> 653</span></a>              }
<a name="l654"><span class="linenum"> 654</span></a>              else
<a name="l655"><span class="linenum"> 655</span></a>              {
<a name="l656"><span class="linenum"> 656</span></a>                  <a class="var it52" onMouseOver="hilite(52)" onMouseOut="lolite()" onClick="logVariable('loginUrl')" href="_variables/loginUrl.html">$loginUrl</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['idpLoginUrl'].'?'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['idpUrlParam'].'='.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_path2url')" href="_functions/_path2url.html" onMouseOver="funcPopup(event,'_path2url')">_path2url</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['trigger']);
<a name="l657"><span class="linenum"> 657</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it52" onMouseOver="hilite(52)" onMouseOut="lolite()" onClick="logVariable('loginUrl')" href="_variables/loginUrl.html">$loginUrl</a>, 'login');
<a name="l658"><span class="linenum"> 658</span></a>  <span class="comment">                // If redirect loop...</span>
<a name="l659"><span class="linenum"> 659</span></a>                  <a class="var it51" onMouseOver="hilite(51)" onMouseOut="lolite()" onClick="logVariable('login')" href="_variables/login.html">$login</a> = FALSE;
<a name="l660"><span class="linenum"> 660</span></a>              }
<a name="l661"><span class="linenum"> 661</span></a>          }
<a name="l662"><span class="linenum"> 662</span></a>  
<a name="l663"><span class="linenum"> 663</span></a>  <span class="comment">        // Set to zero the redirect loop counter</span>
<a name="l664"><span class="linenum"> 664</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_loop_login', 0);
<a name="l665"><span class="linenum"> 665</span></a>              
<a name="l666"><span class="linenum"> 666</span></a>  <span class="comment">        // Login</span>
<a name="l667"><span class="linenum"> 667</span></a>          if(<a class="var it51" onMouseOver="hilite(51)" onMouseOut="lolite()" onClick="logVariable('login')" href="_variables/login.html">$login</a>) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_login')" href="_functions/_login.html" onMouseOver="funcPopup(event,'_login')">_login</a>();
<a name="l668"><span class="linenum"> 668</span></a>          
<a name="l669"><span class="linenum"> 669</span></a>  <span class="comment">        // Redirect</span>
<a name="l670"><span class="linenum"> 670</span></a>          <a class="var it53" onMouseOver="hilite(53)" onMouseOut="lolite()" onClick="logVariable('redirect')" href="_variables/redirect.html">$redirect</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>('sso_page');
<a name="l671"><span class="linenum"> 671</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_page', FALSE);
<a name="l672"><span class="linenum"> 672</span></a>          if(!<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>('sso_login_state')) <a class="var it53" onMouseOver="hilite(53)" onMouseOut="lolite()" onClick="logVariable('redirect')" href="_variables/redirect.html">$redirect</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_getReturnParam')" href="_functions/_getreturnparam.html" onMouseOver="funcPopup(event,'_getreturnparam')">_getReturnParam</a>();
<a name="l673"><span class="linenum"> 673</span></a>              else <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login_state', FALSE);
<a name="l674"><span class="linenum"> 674</span></a>          if(<a class="var it53" onMouseOver="hilite(53)" onMouseOut="lolite()" onClick="logVariable('redirect')" href="_variables/redirect.html">$redirect</a>) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it53" onMouseOver="hilite(53)" onMouseOut="lolite()" onClick="logVariable('redirect')" href="_variables/redirect.html">$redirect</a>);
<a name="l675"><span class="linenum"> 675</span></a>      }
<a name="l676"><span class="linenum"> 676</span></a>      
<a name="l677"><span class="linenum"> 677</span></a>      
<a name="l678"><span class="linenum"> 678</span></a>      <span class="comment">/**</span>
<a name="l679"><span class="linenum"> 679</span></a>  <span class="comment">     * Logout the SSO user.</span>
<a name="l680"><span class="linenum"> 680</span></a>  <span class="comment">     * Use these function in your logout page.</span>
<a name="l681"><span class="linenum"> 681</span></a>  <span class="comment">     *</span>
<a name="l682"><span class="linenum"> 682</span></a>  <span class="comment">     * @param void</span>
<a name="l683"><span class="linenum"> 683</span></a>  <span class="comment">     * @return void</span>
<a name="l684"><span class="linenum"> 684</span></a>  <span class="comment">     */</span>
<a name="l685"><span class="linenum"> 685</span></a>  	public function <a class="function" onClick="logFunction('logOut')" href="_functions/logout.html" onMouseOver="funcPopup(event,'logout')">logOut</a>()
<a name="l686"><span class="linenum"> 686</span></a>      {
<a name="l687"><span class="linenum"> 687</span></a>  <span class="comment">        // Error</span>
<a name="l688"><span class="linenum"> 688</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_isError')" href="_functions/_iserror.html" onMouseOver="funcPopup(event,'_iserror')">_isError</a>()) return;
<a name="l689"><span class="linenum"> 689</span></a>  
<a name="l690"><span class="linenum"> 690</span></a>  <span class="comment">        // HTTPS protocol</span>
<a name="l691"><span class="linenum"> 691</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['ssl']) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('https')" href="_functions/https.html" onMouseOver="funcPopup(event,'https')">https</a>();
<a name="l692"><span class="linenum"> 692</span></a>  
<a name="l693"><span class="linenum"> 693</span></a>  <span class="comment">        // This variable set that the user is really logout or not</span>
<a name="l694"><span class="linenum"> 694</span></a>          <a class="var it54" onMouseOver="hilite(54)" onMouseOut="lolite()" onClick="logVariable('logout')" href="_variables/logout.html">$logout</a> = TRUE;
<a name="l695"><span class="linenum"> 695</span></a>  
<a name="l696"><span class="linenum"> 696</span></a>  <span class="comment">        // Check login status and if logged in: redirect</span>
<a name="l697"><span class="linenum"> 697</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_page', <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_getReturnParam')" href="_functions/_getreturnparam.html" onMouseOver="funcPopup(event,'_getreturnparam')">_getReturnParam</a>());
<a name="l698"><span class="linenum"> 698</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['shibSp'])
<a name="l699"><span class="linenum"> 699</span></a>          {
<a name="l700"><span class="linenum"> 700</span></a>              <a class="var it55" onMouseOver="hilite(55)" onMouseOut="lolite()" onClick="logVariable('spLogoutUrl')" href="_variables/spLogoutUrl.html">$spLogoutUrl</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['spLogoutUrl'].'?'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['spLogoutUrlParam'].'=';
<a name="l701"><span class="linenum"> 701</span></a>              <a class="var it56" onMouseOver="hilite(56)" onMouseOut="lolite()" onClick="logVariable('idpLogoutUrl')" href="_variables/idpLogoutUrl.html">$idpLogoutUrl</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['idpLogoutUrl'].'?'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['idpUrlParam'].'=';
<a name="l702"><span class="linenum"> 702</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['shibIdpLogout'])
<a name="l703"><span class="linenum"> 703</span></a>              {
<a name="l704"><span class="linenum"> 704</span></a>                  <a class="var it57" onMouseOver="hilite(57)" onMouseOut="lolite()" onClick="logVariable('logoutUrl')" href="_variables/logoutUrl.html">$logoutUrl</a> = <a class="var it56" onMouseOver="hilite(56)" onMouseOut="lolite()" onClick="logVariable('idpLogoutUrl')" href="_variables/idpLogoutUrl.html">$idpLogoutUrl</a>.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_path2url')" href="_functions/_path2url.html" onMouseOver="funcPopup(event,'_path2url')">_path2url</a>(<a class="var it55" onMouseOver="hilite(55)" onMouseOut="lolite()" onClick="logVariable('spLogoutUrl')" href="_variables/spLogoutUrl.html">$spLogoutUrl</a>).'https://'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_HOST').<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('REQUEST_URI');
<a name="l705"><span class="linenum"> 705</span></a>              }
<a name="l706"><span class="linenum"> 706</span></a>              else
<a name="l707"><span class="linenum"> 707</span></a>              {
<a name="l708"><span class="linenum"> 708</span></a>                  <a class="var it57" onMouseOver="hilite(57)" onMouseOut="lolite()" onClick="logVariable('logoutUrl')" href="_variables/logoutUrl.html">$logoutUrl</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_path2url')" href="_functions/_path2url.html" onMouseOver="funcPopup(event,'_path2url')">_path2url</a>(<a class="var it55" onMouseOver="hilite(55)" onMouseOut="lolite()" onClick="logVariable('spLogoutUrl')" href="_variables/spLogoutUrl.html">$spLogoutUrl</a>).'https://'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_HOST').<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('REQUEST_URI');
<a name="l709"><span class="linenum"> 709</span></a>              }
<a name="l710"><span class="linenum"> 710</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_isRealLogin')" href="_functions/_isreallogin.html" onMouseOver="funcPopup(event,'_isreallogin')">_isRealLogin</a>() === TRUE)
<a name="l711"><span class="linenum"> 711</span></a>              {
<a name="l712"><span class="linenum"> 712</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_page', <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_getReturnParam')" href="_functions/_getreturnparam.html" onMouseOver="funcPopup(event,'_getreturnparam')">_getReturnParam</a>());
<a name="l713"><span class="linenum"> 713</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login_state', TRUE);
<a name="l714"><span class="linenum"> 714</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it57" onMouseOver="hilite(57)" onMouseOut="lolite()" onClick="logVariable('logoutUrl')" href="_variables/logoutUrl.html">$logoutUrl</a>, 'logout');
<a name="l715"><span class="linenum"> 715</span></a>  <span class="comment">                // If redirect loop...</span>
<a name="l716"><span class="linenum"> 716</span></a>                  <a class="var it54" onMouseOver="hilite(54)" onMouseOut="lolite()" onClick="logVariable('logout')" href="_variables/logout.html">$logout</a> = FALSE;
<a name="l717"><span class="linenum"> 717</span></a>              }
<a name="l718"><span class="linenum"> 718</span></a>          }
<a name="l719"><span class="linenum"> 719</span></a>          else
<a name="l720"><span class="linenum"> 720</span></a>          {
<a name="l721"><span class="linenum"> 721</span></a>              <a class="var it57" onMouseOver="hilite(57)" onMouseOut="lolite()" onClick="logVariable('logoutUrl')" href="_variables/logoutUrl.html">$logoutUrl</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['idpLogoutUrl'].'?'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['idpUrlParam'].'=http://'.<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_HOST').<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('REQUEST_URI');
<a name="l722"><span class="linenum"> 722</span></a>              if(!empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('idpCookie')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/idpCookie.html">idpCookie</a>))
<a name="l723"><span class="linenum"> 723</span></a>              {
<a name="l724"><span class="linenum"> 724</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_page', <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_getReturnParam')" href="_functions/_getreturnparam.html" onMouseOver="funcPopup(event,'_getreturnparam')">_getReturnParam</a>());
<a name="l725"><span class="linenum"> 725</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login_state', TRUE);
<a name="l726"><span class="linenum"> 726</span></a>                  <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it57" onMouseOver="hilite(57)" onMouseOut="lolite()" onClick="logVariable('logoutUrl')" href="_variables/logoutUrl.html">$logoutUrl</a>, 'logout');
<a name="l727"><span class="linenum"> 727</span></a>  <span class="comment">                // If redirect loop...</span>
<a name="l728"><span class="linenum"> 728</span></a>                  <a class="var it54" onMouseOver="hilite(54)" onMouseOut="lolite()" onClick="logVariable('logout')" href="_variables/logout.html">$logout</a> = FALSE;
<a name="l729"><span class="linenum"> 729</span></a>              }
<a name="l730"><span class="linenum"> 730</span></a>          }
<a name="l731"><span class="linenum"> 731</span></a>  
<a name="l732"><span class="linenum"> 732</span></a>  <span class="comment">        // Set to zero the redirect loop counter</span>
<a name="l733"><span class="linenum"> 733</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_loop_logout', 0);
<a name="l734"><span class="linenum"> 734</span></a>              
<a name="l735"><span class="linenum"> 735</span></a>  <span class="comment">        // Logout</span>
<a name="l736"><span class="linenum"> 736</span></a>          if(<a class="var it54" onMouseOver="hilite(54)" onMouseOut="lolite()" onClick="logVariable('logout')" href="_variables/logout.html">$logout</a>) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_logout')" href="_functions/_logout.html" onMouseOver="funcPopup(event,'_logout')">_logout</a>();
<a name="l737"><span class="linenum"> 737</span></a>  <span class="comment">        // For safety...</span>
<a name="l738"><span class="linenum"> 738</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a> = FALSE;
<a name="l739"><span class="linenum"> 739</span></a>          
<a name="l740"><span class="linenum"> 740</span></a>  <span class="comment">        // Redirect</span>
<a name="l741"><span class="linenum"> 741</span></a>          <a class="var it53" onMouseOver="hilite(53)" onMouseOut="lolite()" onClick="logVariable('redirect')" href="_variables/redirect.html">$redirect</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>('sso_page');
<a name="l742"><span class="linenum"> 742</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_page', FALSE);
<a name="l743"><span class="linenum"> 743</span></a>          if(!<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>('sso_login_state')) <a class="var it53" onMouseOver="hilite(53)" onMouseOut="lolite()" onClick="logVariable('redirect')" href="_variables/redirect.html">$redirect</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_getReturnParam')" href="_functions/_getreturnparam.html" onMouseOver="funcPopup(event,'_getreturnparam')">_getReturnParam</a>();
<a name="l744"><span class="linenum"> 744</span></a>              else <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>('sso_login_state', FALSE);
<a name="l745"><span class="linenum"> 745</span></a>          if(<a class="var it53" onMouseOver="hilite(53)" onMouseOut="lolite()" onClick="logVariable('redirect')" href="_variables/redirect.html">$redirect</a>) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it53" onMouseOver="hilite(53)" onMouseOut="lolite()" onClick="logVariable('redirect')" href="_variables/redirect.html">$redirect</a>);
<a name="l746"><span class="linenum"> 746</span></a>      }
<a name="l747"><span class="linenum"> 747</span></a>      
<a name="l748"><span class="linenum"> 748</span></a>      
<a name="l749"><span class="linenum"> 749</span></a>      <span class="comment">/**</span>
<a name="l750"><span class="linenum"> 750</span></a>  <span class="comment">     * Trigger.</span>
<a name="l751"><span class="linenum"> 751</span></a>  <span class="comment">     * These function create a simple redirect to the login page.</span>
<a name="l752"><span class="linenum"> 752</span></a>  <span class="comment">     * Use these function in your trigger page.</span>
<a name="l753"><span class="linenum"> 753</span></a>  <span class="comment">     * In default you shouldn't use these function. But if you should put trigger to another page than the default</span>
<a name="l754"><span class="linenum"> 754</span></a>  <span class="comment">     * ('trigger.php'), you can do this with this function.</span>
<a name="l755"><span class="linenum"> 755</span></a>  <span class="comment">     *</span>
<a name="l756"><span class="linenum"> 756</span></a>  <span class="comment">     * @example /trigger.php</span>
<a name="l757"><span class="linenum"> 757</span></a>  <span class="comment">     * @param (string) $url The URL of the login page. If not setted redirect to the 'loginPage' config. If the this config</span>
<a name="l758"><span class="linenum"> 758</span></a>  <span class="comment">     *                 also unsetted create a login action that equal with logIn(); function.</span>
<a name="l759"><span class="linenum"> 759</span></a>  <span class="comment">     * @return void</span>
<a name="l760"><span class="linenum"> 760</span></a>  <span class="comment">     */</span>
<a name="l761"><span class="linenum"> 761</span></a>  	public function <a class="function" onClick="logFunction('trigger')" href="_functions/trigger.html" onMouseOver="funcPopup(event,'trigger')">trigger</a>(<a class="var it33" onMouseOver="hilite(33)" onMouseOut="lolite()" onClick="logVariable('url')" href="_variables/url.html">$url</a> = '')
<a name="l762"><span class="linenum"> 762</span></a>      {
<a name="l763"><span class="linenum"> 763</span></a>          if(!empty(<a class="var it33" onMouseOver="hilite(33)" onMouseOut="lolite()" onClick="logVariable('url')" href="_variables/url.html">$url</a>)) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it33" onMouseOver="hilite(33)" onMouseOut="lolite()" onClick="logVariable('url')" href="_variables/url.html">$url</a>);
<a name="l764"><span class="linenum"> 764</span></a>          elseif(!empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['loginPage'])) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_redirect')" href="_functions/_redirect.html" onMouseOver="funcPopup(event,'_redirect')">_redirect</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['loginPage']);
<a name="l765"><span class="linenum"> 765</span></a>          else <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('logIn')" href="_functions/login.html" onMouseOver="funcPopup(event,'login')">logIn</a>();
<a name="l766"><span class="linenum"> 766</span></a>      }
<a name="l767"><span class="linenum"> 767</span></a>      
<a name="l768"><span class="linenum"> 768</span></a>      
<a name="l769"><span class="linenum"> 769</span></a>      <span class="comment">/**</span>
<a name="l770"><span class="linenum"> 770</span></a>  <span class="comment">     * Is the user logged in?.</span>
<a name="l771"><span class="linenum"> 771</span></a>  <span class="comment">     * Look after in session that the user is logged in or not.</span>
<a name="l772"><span class="linenum"> 772</span></a>  <span class="comment">     *</span>
<a name="l773"><span class="linenum"> 773</span></a>  <span class="comment">     * @param void</span>
<a name="l774"><span class="linenum"> 774</span></a>  <span class="comment">     * @return (bool) TRUE if the user logged in and FALSE if not.</span>
<a name="l775"><span class="linenum"> 775</span></a>  <span class="comment">     */</span>
<a name="l776"><span class="linenum"> 776</span></a>  	public function <a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>()
<a name="l777"><span class="linenum"> 777</span></a>      {
<a name="l778"><span class="linenum"> 778</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>('sso_login') == TRUE) return TRUE;
<a name="l779"><span class="linenum"> 779</span></a>          else return FALSE;
<a name="l780"><span class="linenum"> 780</span></a>      }
<a name="l781"><span class="linenum"> 781</span></a>      
<a name="l782"><span class="linenum"> 782</span></a>      
<a name="l783"><span class="linenum"> 783</span></a>      <span class="comment">/**</span>
<a name="l784"><span class="linenum"> 784</span></a>  <span class="comment">     * Check that the user is logged or not in IDP and in the application server.</span>
<a name="l785"><span class="linenum"> 785</span></a>  <span class="comment">     *</span>
<a name="l786"><span class="linenum"> 786</span></a>  <span class="comment">     * @param void</span>
<a name="l787"><span class="linenum"> 787</span></a>  <span class="comment">     * @return (bool) TRUE if logged in and FALSE is not.</span>
<a name="l788"><span class="linenum"> 788</span></a>  <span class="comment">     */</span>
<a name="l789"><span class="linenum"> 789</span></a>  	private function <a class="function" onClick="logFunction('_isRealLogin')" href="_functions/_isreallogin.html" onMouseOver="funcPopup(event,'_isreallogin')">_isRealLogin</a>()
<a name="l790"><span class="linenum"> 790</span></a>      {
<a name="l791"><span class="linenum"> 791</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['shibSp'])
<a name="l792"><span class="linenum"> 792</span></a>          {
<a name="l793"><span class="linenum"> 793</span></a>              if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_SHIB_IDENTITY_PROVIDER') OR <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('Shib-Identity-Provider') OR <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('Shib_Identity_Provider')) <a class="var it58" onMouseOver="hilite(58)" onMouseOut="lolite()" onClick="logVariable('shibSession')" href="_variables/shibSession.html">$shibSession</a> = TRUE;
<a name="l794"><span class="linenum"> 794</span></a>              else <a class="var it58" onMouseOver="hilite(58)" onMouseOut="lolite()" onClick="logVariable('shibSession')" href="_variables/shibSession.html">$shibSession</a> = FALSE;
<a name="l795"><span class="linenum"> 795</span></a>              if(empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>) OR <a class="var it58" onMouseOver="hilite(58)" onMouseOut="lolite()" onClick="logVariable('shibSession')" href="_variables/shibSession.html">$shibSession</a> === FALSE) return FALSE;
<a name="l796"><span class="linenum"> 796</span></a>              else return TRUE;
<a name="l797"><span class="linenum"> 797</span></a>          }
<a name="l798"><span class="linenum"> 798</span></a>          else
<a name="l799"><span class="linenum"> 799</span></a>          {
<a name="l800"><span class="linenum"> 800</span></a>              if(empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>) OR empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('idpCookie')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/idpCookie.html">idpCookie</a>)) return FALSE;
<a name="l801"><span class="linenum"> 801</span></a>              else return TRUE;
<a name="l802"><span class="linenum"> 802</span></a>          }
<a name="l803"><span class="linenum"> 803</span></a>      }
<a name="l804"><span class="linenum"> 804</span></a>      
<a name="l805"><span class="linenum"> 805</span></a>      
<a name="l806"><span class="linenum"> 806</span></a>      <span class="comment">/**</span>
<a name="l807"><span class="linenum"> 807</span></a>  <span class="comment">     * Get the last page URL.</span>
<a name="l808"><span class="linenum"> 808</span></a>  <span class="comment">     * Get the URL from the URL's parameter, but if it's not exists get it from the 'HTTP_REFERER' server variable.</span>
<a name="l809"><span class="linenum"> 809</span></a>  <span class="comment">     *</span>
<a name="l810"><span class="linenum"> 810</span></a>  <span class="comment">     * @param void</span>
<a name="l811"><span class="linenum"> 811</span></a>  <span class="comment">     * @return (string|bool) FALSE if the URL not setted, and the complete URL of the last page if setted.</span>
<a name="l812"><span class="linenum"> 812</span></a>  <span class="comment">     */</span>
<a name="l813"><span class="linenum"> 813</span></a>  	private function <a class="function" onClick="logFunction('_getReturnParam')" href="_functions/_getreturnparam.html" onMouseOver="funcPopup(event,'_getreturnparam')">_getReturnParam</a>()
<a name="l814"><span class="linenum"> 814</span></a>      {
<a name="l815"><span class="linenum"> 815</span></a>          if(@isset(<a class="var it59" onMouseOver="hilite(59)" onMouseOut="lolite()" onClick="logVariable('_GET')" href="_variables/_GET.html">$_GET</a>[<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['urlParam']])) <a class="var it60" onMouseOver="hilite(60)" onMouseOut="lolite()" onClick="logVariable('return')" href="_variables/return.html">$return</a> = <a class="var it59" onMouseOver="hilite(59)" onMouseOut="lolite()" onClick="logVariable('_GET')" href="_variables/_GET.html">$_GET</a>[<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('conf')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/conf.html">conf</a>['urlParam']];
<a name="l816"><span class="linenum"> 816</span></a>          <a class="var it61" onMouseOver="hilite(61)" onMouseOut="lolite()" onClick="logVariable('referer')" href="_variables/referer.html">$referer</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('HTTP_REFERER');
<a name="l817"><span class="linenum"> 817</span></a>          if(<a class="var it61" onMouseOver="hilite(61)" onMouseOut="lolite()" onClick="logVariable('referer')" href="_variables/referer.html">$referer</a> == <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_path2url')" href="_functions/_path2url.html" onMouseOver="funcPopup(event,'_path2url')">_path2url</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('server')" href="_functions/server.html" onMouseOver="funcPopup(event,'server')">server</a>('REQUEST_URI'))) <a class="var it61" onMouseOver="hilite(61)" onMouseOut="lolite()" onClick="logVariable('referer')" href="_variables/referer.html">$referer</a> = FALSE;
<a name="l818"><span class="linenum"> 818</span></a>          if(empty(<a class="var it60" onMouseOver="hilite(60)" onMouseOut="lolite()" onClick="logVariable('return')" href="_variables/return.html">$return</a>) AND !empty(<a class="var it61" onMouseOver="hilite(61)" onMouseOut="lolite()" onClick="logVariable('referer')" href="_variables/referer.html">$referer</a>)) <a class="var it60" onMouseOver="hilite(60)" onMouseOut="lolite()" onClick="logVariable('return')" href="_variables/return.html">$return</a> = <a class="var it61" onMouseOver="hilite(61)" onMouseOut="lolite()" onClick="logVariable('referer')" href="_variables/referer.html">$referer</a>;
<a name="l819"><span class="linenum"> 819</span></a>          if(empty(<a class="var it60" onMouseOver="hilite(60)" onMouseOut="lolite()" onClick="logVariable('return')" href="_variables/return.html">$return</a>)) return FALSE;
<a name="l820"><span class="linenum"> 820</span></a>          else return <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('_path2url')" href="_functions/_path2url.html" onMouseOver="funcPopup(event,'_path2url')">_path2url</a>(<a class="var it60" onMouseOver="hilite(60)" onMouseOut="lolite()" onClick="logVariable('return')" href="_variables/return.html">$return</a>);
<a name="l821"><span class="linenum"> 821</span></a>      }
<a name="l822"><span class="linenum"> 822</span></a>      
<a name="l823"><span class="linenum"> 823</span></a>      <span class="comment">/**</span>
<a name="l824"><span class="linenum"> 824</span></a>  <span class="comment">     * End of Login - Logout</span>
<a name="l825"><span class="linenum"> 825</span></a>  <span class="comment">     */</span>
<a name="l826"><span class="linenum"> 826</span></a>      
<a name="l827"><span class="linenum"> 827</span></a>      
<a name="l828"><span class="linenum"> 828</span></a>      
<a name="l829"><span class="linenum"> 829</span></a>      <span class="comment">/*</span>
<a name="l830"><span class="linenum"> 830</span></a>  <span class="comment">     * User</span>
<a name="l831"><span class="linenum"> 831</span></a>  <span class="comment">     */</span>
<a name="l832"><span class="linenum"> 832</span></a>      
<a name="l833"><span class="linenum"> 833</span></a>      <span class="comment">/**</span>
<a name="l834"><span class="linenum"> 834</span></a>  <span class="comment">     * Get the user's data.</span>
<a name="l835"><span class="linenum"> 835</span></a>  <span class="comment">     * Logged in usage only.</span>
<a name="l836"><span class="linenum"> 836</span></a>  <span class="comment">     *</span>
<a name="l837"><span class="linenum"> 837</span></a>  <span class="comment">     * @param (string) $dataName The name of the user's data. Use 'sso_' prefix to access the user's SSO data.</span>
<a name="l838"><span class="linenum"> 838</span></a>  <span class="comment">     * @return (array|bool|multi) The value of the user's data. If '$dataName' is empty return a single array with all of</span>
<a name="l839"><span class="linenum"> 839</span></a>  <span class="comment">     *         the data. If '$dataName' is invalid return (bool)FALSE. Use 'sso_' prefix to access the user's SSO data.</span>
<a name="l840"><span class="linenum"> 840</span></a>  <span class="comment">     */</span>
<a name="l841"><span class="linenum"> 841</span></a>  	public function <a class="function" onClick="logFunction('getUserData')" href="_functions/getuserdata.html" onMouseOver="funcPopup(event,'getuserdata')">getUserData</a>(<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a> = '')
<a name="l842"><span class="linenum"> 842</span></a>      {
<a name="l843"><span class="linenum"> 843</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>() !== TRUE) return FALSE;
<a name="l844"><span class="linenum"> 844</span></a>              
<a name="l845"><span class="linenum"> 845</span></a>  <span class="comment">        // Get user's sso data</span>
<a name="l846"><span class="linenum"> 846</span></a>          if(!empty(<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a>) AND <a class="phpfunction" onClick="logFunction('substr')" href="_functions/substr.html" onMouseOver="phpfuncPopup(event,'substr')">substr</a>(<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a>, 0, 4) == 'sso_')
<a name="l847"><span class="linenum"> 847</span></a>          {
<a name="l848"><span class="linenum"> 848</span></a>              if(isset(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('ssoUser')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/ssoUser.html">ssoUser</a>[<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a>])) return <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('ssoUser')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/ssoUser.html">ssoUser</a>[<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a>];
<a name="l849"><span class="linenum"> 849</span></a>          }
<a name="l850"><span class="linenum"> 850</span></a>          
<a name="l851"><span class="linenum"> 851</span></a>  <span class="comment">        // Special data</span>
<a name="l852"><span class="linenum"> 852</span></a>          if(<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a> == 'user_name' OR <a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a> == 'sso_user_name') return <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>;
<a name="l853"><span class="linenum"> 853</span></a>          if(<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a> == 'user_groups' OR <a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a> == 'sso_user_groups') return <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userGroups')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userGroups.html">userGroups</a>;
<a name="l854"><span class="linenum"> 854</span></a>          if(<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a> == 'user_virid' OR <a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a> == 'sso_user_virid') return <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userVirid')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userVirid.html">userVirid</a>;
<a name="l855"><span class="linenum"> 855</span></a>              
<a name="l856"><span class="linenum"> 856</span></a>  <span class="comment">        // Get user's data from the database</span>
<a name="l857"><span class="linenum"> 857</span></a>          if(empty(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('user')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/user.html">user</a>)) <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('user')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/user.html">user</a> = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('selectUser')" href="_functions/selectuser.html" onMouseOver="funcPopup(event,'selectuser')">selectUser</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>);
<a name="l858"><span class="linenum"> 858</span></a>          if(isset(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('user')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/user.html">user</a>[<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a>])) return <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('user')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/user.html">user</a>[<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a>];
<a name="l859"><span class="linenum"> 859</span></a>  
<a name="l860"><span class="linenum"> 860</span></a>  <span class="comment">        // Return with all user data</span>
<a name="l861"><span class="linenum"> 861</span></a>          if(empty(<a class="var it62" onMouseOver="hilite(62)" onMouseOut="lolite()" onClick="logVariable('dataName')" href="_variables/dataName.html">$dataName</a>))
<a name="l862"><span class="linenum"> 862</span></a>          {
<a name="l863"><span class="linenum"> 863</span></a>              (array)<a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a> = <a class="phpfunction" onClick="logFunction('array_merge')" href="_functions/array_merge.html" onMouseOver="phpfuncPopup(event,'array_merge')">array_merge</a>((array)<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('user')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/user.html">user</a>, (array)<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('ssoUser')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/ssoUser.html">ssoUser</a>);
<a name="l864"><span class="linenum"> 864</span></a>              <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>['user_name'] = <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>['sso_user_name'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>;
<a name="l865"><span class="linenum"> 865</span></a>              <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>['user_groups'] = <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>['sso_user_groups'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userGroups')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userGroups.html">userGroups</a>;
<a name="l866"><span class="linenum"> 866</span></a>              <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>['user_virid'] = <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>['sso_user_virid'] = <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userVirid')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userVirid.html">userVirid</a>;
<a name="l867"><span class="linenum"> 867</span></a>              return <a class="var it10" onMouseOver="hilite(10)" onMouseOut="lolite()" onClick="logVariable('user')" href="_variables/user.html">$user</a>;
<a name="l868"><span class="linenum"> 868</span></a>          }
<a name="l869"><span class="linenum"> 869</span></a>          
<a name="l870"><span class="linenum"> 870</span></a>          return FALSE;
<a name="l871"><span class="linenum"> 871</span></a>      }
<a name="l872"><span class="linenum"> 872</span></a>      
<a name="l873"><span class="linenum"> 873</span></a>      
<a name="l874"><span class="linenum"> 874</span></a>      <span class="comment">/**</span>
<a name="l875"><span class="linenum"> 875</span></a>  <span class="comment">     * Set the user's data.</span>
<a name="l876"><span class="linenum"> 876</span></a>  <span class="comment">     * Store user's data with 'updateUser();' function. Only accept none SSO data!</span>
<a name="l877"><span class="linenum"> 877</span></a>  <span class="comment">     * Logged in usage only.</span>
<a name="l878"><span class="linenum"> 878</span></a>  <span class="comment">     *</span>
<a name="l879"><span class="linenum"> 879</span></a>  <span class="comment">     * @param (string) $data Single array of the user's data. Keys represents the data name.</span>
<a name="l880"><span class="linenum"> 880</span></a>  <span class="comment">     * @return void</span>
<a name="l881"><span class="linenum"> 881</span></a>  <span class="comment">     */</span>
<a name="l882"><span class="linenum"> 882</span></a>  	public function <a class="function" onClick="logFunction('setUserData')" href="_functions/setuserdata.html" onMouseOver="funcPopup(event,'setuserdata')">setUserData</a>(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>)
<a name="l883"><span class="linenum"> 883</span></a>      {
<a name="l884"><span class="linenum"> 884</span></a>          if(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('isLogin')" href="_functions/islogin.html" onMouseOver="funcPopup(event,'islogin')">isLogin</a>() !== TRUE) return FALSE;
<a name="l885"><span class="linenum"> 885</span></a>          if(!<a class="phpfunction" onClick="logFunction('is_array')" href="_functions/is_array.html" onMouseOver="phpfuncPopup(event,'is_array')">is_array</a>(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>)) return;
<a name="l886"><span class="linenum"> 886</span></a>          if(isset(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>['user_name'])) unset(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>['user_name']);
<a name="l887"><span class="linenum"> 887</span></a>          if(isset(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>['user_groups'])) unset(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>['user_groups']);
<a name="l888"><span class="linenum"> 888</span></a>          if(isset(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>['user_virid'])) unset(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>['user_virid']);
<a name="l889"><span class="linenum"> 889</span></a>          foreach(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a> AS <a class="var it14" onMouseOver="hilite(14)" onMouseOut="lolite()" onClick="logVariable('key')" href="_variables/key.html">$key</a> =&gt; <a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>)
<a name="l890"><span class="linenum"> 890</span></a>          {
<a name="l891"><span class="linenum"> 891</span></a>              if(<a class="phpfunction" onClick="logFunction('substr')" href="_functions/substr.html" onMouseOver="phpfuncPopup(event,'substr')">substr</a>(<a class="var it14" onMouseOver="hilite(14)" onMouseOut="lolite()" onClick="logVariable('key')" href="_variables/key.html">$key</a>, 0, 4) == 'sso_') unset(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>[<a class="var it14" onMouseOver="hilite(14)" onMouseOut="lolite()" onClick="logVariable('key')" href="_variables/key.html">$key</a>]);
<a name="l892"><span class="linenum"> 892</span></a>          }
<a name="l893"><span class="linenum"> 893</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a class="function" onClick="logFunction('updateUser')" href="_functions/updateuser.html" onMouseOver="funcPopup(event,'updateuser')">updateUser</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('userName')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/userName.html">userName</a>, <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>);
<a name="l894"><span class="linenum"> 894</span></a>          <a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('user')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/user.html">user</a> = <a class="phpfunction" onClick="logFunction('array_merge')" href="_functions/array_merge.html" onMouseOver="phpfuncPopup(event,'array_merge')">array_merge</a>(<a class="var it13" onMouseOver="hilite(13)" onMouseOut="lolite()" onClick="logVariable('this')" href="_variables/this.html">$this</a>-&gt;<a onClick="logVariable('user')" class="var it63" onMouseOver="hilite(63)" onMouseOut="lolite()" href="_variables/user.html">user</a>, <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>);
<a name="l895"><span class="linenum"> 895</span></a>      }
<a name="l896"><span class="linenum"> 896</span></a>      
<a name="l897"><span class="linenum"> 897</span></a>      <span class="comment">/*</span>
<a name="l898"><span class="linenum"> 898</span></a>  <span class="comment">     * End of User</span>
<a name="l899"><span class="linenum"> 899</span></a>  <span class="comment">     */</span>
<a name="l900"><span class="linenum"> 900</span></a>  
<a name="l901"><span class="linenum"> 901</span></a>  
<a name="l902"><span class="linenum"> 902</span></a>  }
<a name="l903"><span class="linenum"> 903</span></a>  
<a name="l904"><span class="linenum"> 904</span></a>  ?&gt;
</pre>
</div>
<script language="JavaScript" type="text/javascript">
FUNC_DATA={
'setuserdata': ['setuserdata', 'Set the user\'s data. Store user\'s data with \'updateUser();\' function. Only accept none SSO data! Logged in usage only. ', [['','open-sso.abstract.php',874],['','open-sso.interface.php',105]], 0],
'getuserdata': ['getuserdata', 'Get the user\'s data. Logged in usage only. ', [['','open-sso.abstract.php',833],['','open-sso.interface.php',95]], 0],
'selectuser': ['selectuser', 'Get the user\'s data. Select user where the user name is equal with the \'$userName\' param. Read from DB or whatever you store the users. Return with all of the data that you store to this user (SSO and none SSO data). You must return the data names that the program add when the data stored (insert, update)! ', [['','open-sso.class.php',66]], 4],
'insertuser': ['insertuser', 'Create user. Create user with data from the \'$data\' param (user\'s SSO data). Insert to DB or whatever you store the users. Syntax: The data name that you setted in config file (\'user\' array) with \'sso_\' prefix. Plus \'user_name\', \'user_virid\', \'user_groups\' variables, and these with \'sso_\' prefix. ', [['','open-sso.class.php',50]], 2],
'http': ['http', 'Get HTTP connection, not HTTPS. If the user request this \'page\' with SSL (HTTPS) this function redirect to the non secured version of the \'page\' (HTTP). For example: https://example.org/dir/file.php?var=1 redirect to http://example.org/dir/file.php?var=1 ', [['','open-sso.abstract.php',459],['','open-sso.interface.php',22]], 0],
'_login': ['_login', 'Login the user to the application. Check required user data, create session, update user\'s SSO data or create user. ', [['','open-sso.abstract.php',546]], 3],
'logout': ['logout', 'Logout the SSO user. Use these function in your logout page. ', [['','open-sso.abstract.php',678],['','open-sso.interface.php',78]], 2],
'__construct': ['__construct', 'PHP5 constructor. Use the PHP4 constructor. ', [['','open-sso.abstract.php',237]], 0],
'server': ['server', 'Get the element of the \'$_SERVER\' array. ', [['','open-sso.abstract.php',360]], 26],
'hookerror': ['hookerror', 'Hook: Error Call this function when the IDP or the SP is down. ', [['','open-sso.class.php',145],['','open-sso.abstract.php',123]], 1],
'_logout': ['_logout', 'Logout the user from the application. "Destroy" session. Delete user name. ', [['','open-sso.abstract.php',604]], 4],
'_path2url': ['_path2url', 'Create URL from path. ', [['','open-sso.abstract.php',385]], 7],
'cookie': ['cookie', 'Get the element of the \'$_COOKIE\' array. ', [['','open-sso.abstract.php',372]], 1],
'updateuser': ['updateuser', 'Update user\'s data. Update all (SSO and none SSO) user\'s data where the user name is equal with the \'$userName\' param. Update in DB or whatever you store the users. \'$data\' syntax: The data name that you setted in config file with \'sso_\' prefix. Plus \'user_name\', \'user_virid\', \'user_groups\' variables, and these with \'sso_\' prefix. Plus your other data that added with \'setUserData();\' function. ', [['','open-sso.class.php',82]], 3],
'login': ['login', 'Login the SSO user. Use these function in your login page. ', [['','open-sso.abstract.php',621],['','open-sso.interface.php',66]], 1],
'setsessiondata': ['setsessiondata', 'Set data to the session. Set the \'$value\' data to the session with \'$name\' name. If this name exists overwrite it. If this name don\'t exists create it. ', [['','open-sso.class.php',34]], 22],
'getsessiondata': ['getsessiondata', 'Get data from the session ', [['','open-sso.class.php',22]], 9],
'_loadconfig': ['_loadconfig', 'Load config and set default values. Default values make more compatibility to older versions. ', [['','open-sso.abstract.php',256]], 1],
'trigger': ['trigger', 'Trigger. These function create a simple redirect to the login page. Use these function in your trigger page. In default you shouldn\'t use these function. But if you should put trigger to another page than the default (\'trigger.php\'), you can do this with this function. ', [['','open-sso.abstract.php',749],['','open-sso.interface.php',52]], 1],
'https': ['https', 'Get HTTPS connection, not HTTP. If the user request this \'page\' without SSL (HTTP) this function redirect to the secured version of the \'page\' (HTTPS). For example: http://example.org/dir/file.php?var=1 redirect to https://example.org/dir/file.php?var=1 ', [['','open-sso.abstract.php',441],['','open-sso.interface.php',32]], 3],
'_iserror': ['_iserror', 'Is Error? ', [['','open-sso.abstract.php',327]], 4],
'_redirect': ['_redirect', 'Redirect the browser. If you set the second parameter this function save from redirect looping. After the 5. redirect stop it. When you exit from the loop use this code: $this->setSessionData(\'sso_loop_<loop name>\', 0); ', [['','open-sso.abstract.php',407]], 9],
'ishttps': ['ishttps', 'Is secured, HTTPS connection?. If the user request this \'page\' without SSL (HTTP) this function redirect to the secured version of the \'page\' (HTTPS). For example: http://example.org/dir/file.php?var=1 redirect to https://example.org/dir/file.php?var=1 ', [['','open-sso.abstract.php',477],['','open-sso.interface.php',42]], 3],
'_isreallogin': ['_isreallogin', 'Check that the user is logged or not in IDP and in the application server. ', [['','open-sso.abstract.php',783]], 3],
'opensso_abstract': ['opensso_abstract', 'PHP4 constructor ', [['','open-sso.abstract.php',161]], 1],
'__destruct': ['__destruct', 'PHP5 destructor ', [['','open-sso.abstract.php',247]], 0],
'_getreturnparam': ['_getreturnparam', 'Get the last page URL. Get the URL from the URL\'s parameter, but if it\'s not exists get it from the \'HTTP_REFERER\' server variable. ', [['','open-sso.abstract.php',806]], 6],
'hooklogin': ['hooklogin', 'Hook: Login Call this function after the lib checked the required user data, and created the session. (Call this function after the login method.) ', [['','open-sso.class.php',104],['','open-sso.abstract.php',94]], 1],
'islogin': ['islogin', 'Is the user logged in?. Look after in session that the user is logged in or not. ', [['','open-sso.abstract.php',769],['','open-sso.interface.php',87]], 8],
'_setvirid': ['_setvirid', 'Set VirID ', [['','open-sso.abstract.php',527]], 1],
'hooklogout': ['hooklogout', 'Hook: Logout Call this function after the lib "destroy" the session. (Call this function after the logout method.) ', [['','open-sso.class.php',118],['','open-sso.abstract.php',104]], 1],
'hookiserror': ['hookiserror', 'Hook: Is Error? Call this function to determine that error is occured or not. ', [['','open-sso.class.php',132],['','open-sso.abstract.php',114]], 1],
'_setgroups': ['_setgroups', 'Set groups ', [['','open-sso.abstract.php',494]], 1],
'count': ['count', '', [], 2],
'time': ['time', '', [], 2],
'defined': ['defined', '', [], 2],
'explode': ['explode', '', [], 2],
'substr': ['substr', '', [], 5],
'define': ['define', '', [], 2],
'is_array': ['is_array', '', [], 3],
'strtolower': ['strtolower', '', [], 1],
'urldecode': ['urldecode', '', [], 1],
'is_bool': ['is_bool', '', [], 1],
'strtotime': ['strtotime', '', [], 2],
'strrpos': ['strrpos', '', [], 1],
'array_merge': ['array_merge', '', [], 2],
'header': ['header', '', [], 3]};
CLASS_DATA={
'opensso_api': ['opensso_api', 'API interface for OpenSSO PHP library. ', [['','open-sso.interface.php',2]], 1]};
CONST_DATA={
'CONFIG': ['CONFIG', '', [['','open-sso.abstract.php',270]], 1],
'SSOCONFIG': ['SSOCONFIG', '', [['','open-sso.abstract.php',268]], 3]};
</script>
<div id="func-popup" class="funcpopup"><p id="func-title" class="popup-title">title</p><p id="func-desc" class="popup-desc">Description</p><p id="func-body" class="popup-body">Body</p></div>
<div id="class-popup" class="funcpopup"><p id="class-title" class="popup-title">title</p><p id="class-desc" class="popup-desc">Description</p><p id="class-body" class="popup-body">Body</p></div>
<div id="const-popup" class="funcpopup"><p id="const-title" class="popup-title">title</p><p id="const-desc" class="popup-desc">Description</p><p id="const-body" class="popup-body">Body</p></div>
<div id="req-popup" class="funcpopup"><p id="req-title" class="popup-title">title</p><p id="req-body" class="popup-body">Body</p></div>
<!-- A link to the phpxref site in your customized footer file is appreciated ;-) -->
<br><hr>
<table width="100%">
	<tr><td>Generated: Fri Jan  8 00:38:44 2010</td>
	<td align="right"><i>Cross-referenced by <a href="http://phpxref.sourceforge.net/">PHPXref 0.7</a></i></td>
	</tr>
</table>
</body></html>
